LoginSignup
0
0

SQLを復習する 〜その4〜

Posted at

検索結果を加工する

SELECT文でのみSQLで取得した検索結果を並び替えたり、重複を削除するなど、加工することができる。

重複を削除する(DISTINCT)

DISTINCTを使用することで、結果表の中で内容が重複している行を削除して、表示できる。
データの種類を取得したい場合に役立つ。例えば、成績表に関するデータベースがから教科の種類を確認する場合、重複を削除せずに取得すると見づらくなってしまう。そこでDISTINCTを使用すると重複を削除し、教科の一覧を取得することができる。

SELECT  DISTINCT 列名 ・・・
FROM テーブル名

このDISTINCTは、ほかの修飾と異なり、SELECT文の最初に記述する必要がある。

結果を並び替える(ORDER BY)

ORDER BYを使用することで、指定した列の値を基準として並び替えることができる。

SELECT文の最後に、並び替えの基準となる列名と並び順を指定する。

並び替えの指定

昇順・・・ASC
降順・・・DESC

ORDER BY句の初期値は昇順となるので、指定を省略すると昇順となる。

SELECT 列名・・・ FROM テーブル名
ORDER BY 列名 並び順

先頭から数行のみ取得(OFFSET・FETCH)

検索結果を並び替えた上で、その一部の行だけを取得したい場合に使用する。
ORDER BY句に続けて、OFFSET・FETCHをつけることで取得することができる。

MySQL、MariaDB、SQLiteではサポートされていないので注意
上記については別途記述

SELECT 列名・・・ FROM テーブル名
ORDER BY 列名・・・
OFFSET 先頭から除外する行数 ROWS
(FETCH NEXT 取得行数 ROWS ONLY)

MySQL、MariaDB、SQLiteで使用する場合

SELECT 列名・・・ FROM テーブル名
ORDER BY 列名 DESC LIMIT 3

LIMITを使用することで取得したい行数を指定することができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0