Menu
Coddy logo textTech

ORDER BY での CASE

CoddyのSQLジャーニー「応用」セクションの一部 — レッスン 2/27。

CASESELECT のためだけのものではありません。列単体では表現できないカスタムルールで行を並べ替えるために、ORDER BY の中に配置することもできます。

SELECT name, status
FROM tickets
ORDER BY
    CASE status
        WHEN 'urgent' THEN 1
        WHEN 'high'   THEN 2
        WHEN 'normal' THEN 3
        ELSE 4
    END

より短い形式である CASE column WHEN value THEN ... に注目してください。これは WHEN column = value と同等です。より読みやすい方を使用してください。

challenge icon

チャレンジ

簡単

利用可能なテーブルとカラム:

  • <strong>tasks</strong>: <strong>id</strong>, <strong>title</strong>, <strong>priority</strong>

titlepriority を取得してください。'critical' が最初、次に 'high'、その次に 'low'、それ以外のすべてが最後になるように並べ替えます。同じ優先度の中では、title の昇順(アルファベット順)でソートしてください。

自分で試してみよう

SELECT title, priority
FROM tasks
ORDER BY
    -- ...
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

応用のすべてのレッスン