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
ENDDaha 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.
Görev
KolayMevcut 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
ENDKı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
-- ...
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
2String Fonksiyonları
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE ve TRIM|| ile BirleştirmeÖzet - Faturalar