SQLite Order By
SQLite のORDER BY句は、1つまたは複数の列に基づいて、データを昇順または降順に並べるために使用されます。
構文
ORDER BY 句の基本構文は次のとおりです:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC];
- ASCデフォルトは、小さいものから大きいものへ、昇順に並べます。
- DESC大きいものから小さいものへ、降順に並べます。
ORDER BY 句では複数の列を使用できます。使用する並べ替え列が列リストに含まれていることを確認してください:
SELECT
select_list
FROM
table
ORDER BY
column_1 ASC,
column_2 DESC;
column_1 と column_2 の後に並べ替え規則を指定しない場合、デフォルトは ASC 昇順です。上記の文は column_1 の昇順、column_2 の降順で読み取られ、次の文と同等です:
SELECT
select_list
FROM
table
ORDER BY
column_1,
column_2 DESC;
例
COMPANY テーブルに次のレコードがあるとします:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
次は、結果を SALARY の昇順で並べ替える例です:
sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;
これにより、次の結果が生成されます:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 7 James 24 Houston 10000.0 2 Allen 25 Texas 15000.0 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0 6 Kim 22 South-Hall 45000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0
次は、結果を NAME と SALARY の昇順で並べ替える例です:
sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;
これにより、次の結果が生成されます:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 5 David 27 Texas 85000.0 7 James 24 Houston 10000.0 6 Kim 22 South-Hall 45000.0 4 Mark 25 Rich-Mond 65000.0 1 Paul 32 California 20000.0 3 Teddy 23 Norway 20000.0
次は、結果を NAME の降順で並べ替える例です:
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC;
これにより、次の結果が生成されます:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 3 Teddy 23 Norway 20000.0 1 Paul 32 California 20000.0 4 Mark 25 Rich-Mond 65000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 5 David 27 Texas 85000.0 2 Allen 25 Texas 15000.0その他の拡張