Menu
Coddy logo textTech

ORDER BY içinde CASE

Coddy'nin SQL Journey'sinin Temellerin Ötesi bölümünün bir parçası — ders 2 / 27.

CASE sadece SELECT için değildir. Satırları, sütunların tek başına ifade edemeyeceği özel bir kurala göre sıralamak için onu ORDER BY içine yerleştirebilirsiniz.

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

Daha kısa olan şu forma dikkat edin: CASE column WHEN value THEN .... Bu, WHEN column = value ifadesine eşdeğerdir. Hangisi daha kolay okunuyorsa onu kullanın.

challenge icon

Görev

Kolay

Mevcut tablolar ve sütunlar:

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

title ve priority sütunlarını, 'critical' önce, ardından 'high', sonra 'low' ve diğer her şey en son gelecek şekilde sıralanmış olarak döndürün. Aynı öncelik içinde, title sütununa göre alfabetik olarak sıralayın.

Kopya kağıdı

Özel bir kurala göre sıralamak için ORDER BY içinde CASE kullanın:

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

Kısa form olan CASE column WHEN value THEN ..., CASE WHEN column = value THEN ... ifadesine eşdeğerdir.

Kendin dene

SELECT title, priority
FROM tasks
ORDER BY
    -- ...
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temellerin Ötesi bölümündeki tüm dersler