Menu
Coddy logo textTech

Sort Results Part 2

CoddyのSQLジャーニー「基礎」セクションの一部 — レッスン 14/72。

SQL で ORDER BY を使用する場合、複数の列でデータをソートできます。

たとえば、以下の competition テーブルを考えてみてください:

runner_idageavg_speed (m/s)
1473.65
2623.07
3576.82
4564.34
5254.93
6403.94
7236.58
8403.43
SELECT *
FROM competition
WHERE age < 50
ORDER BY age DESC, avg_speed DESC

このクエリは以下を行います:

  1. まず、すべてのレコードを age で降順(高い順から低い順)にソートします
  2. 2つ以上のレコードが同じ age を持つ場合、それらの特定のレコードを avg_speed で降順(高い順から低い順)にソートします

結果:

runner_idageavg_speed (m/s)
1473.65
6403.94
8403.43
5254.93
7236.58
challenge icon

チャレンジ

簡単

利用可能なテーブルと列:

  • feathers: id, weight, area

area を降順で並べ替えた後、全ての id を返してください。feathers が同じ area の場合、weight を昇順で並べ替えてください。

チートシート

ORDER BY を使用して、複数の列でデータをソートできます。最初に指定された列が優先され、後続の列は同点時のブレーカーとして使用されます:

SELECT *
FROM competition
ORDER BY age DESC, avg_speed DESC

これにより:

  1. まず age を降順でソート
  2. レコードの age が同じ場合、avg_speed を降順でソート

自分で試してみよう

quiz icon腕試し

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

基礎のすべてのレッスン