ORDER BYで結果を並べ替え、LIMITで行数を制限し、DISTINCTで重複を取り除くことをマスターしましょう。
このレッスンを Kodokon で開くデフォルトでは、SELECTが返す行の順序は保証されません。データベースは都合のいいように返します。順序を課すには、列を続けたORDER BYを加えます。並べ替えはデフォルトで昇順です(ASCで明示できます)。降順にするにはDESCを加えます。
SELECT title, price FROM books ORDER BY price;
SELECT title, price FROM books ORDER BY price DESC;複数の列で並べ替えられます。ORDER BY genre, price DESCはまずジャンルで、次に同じジャンルの中で最も高いものから安いものへと並べ替えます。LIMIT句は結果の最初のN行だけを残します。ORDER BYと組み合わせれば「トップN」が得られます。LIMIT 3 OFFSET 2ならさらに最初の2行を飛ばします。
SELECT title, price FROM books
ORDER BY price DESC
LIMIT 3;最後のツール、DISTINCTはSELECTのすぐあとに置かれ、結果から重複を取り除きます。私たちのテーブルには7冊の本がありますが、異なるジャンルは3つだけです。DISTINCTがなければ、下のクエリは繰り返しを含む7行を表示してしまいます。
SELECT DISTINCT genre FROM books;
SELECT DISTINCT author FROM books;