問題:
特定のテーブルのレコードを2列で並べ替えて表示する必要があります。
例:
私たちのデータベースには、employee
次の列を使用:id
、first_name
、last_name
、およびsalary
。
id | first_name | last_name | 給与 |
---|---|---|---|
1 | リサ | ウルマン | 3000 |
2 | エイダ | ミューラー | 2400 |
3 | トーマス | 緑 | 2400 |
4 | マイケル | ミューラー | 3000 |
5 | メアリー | 緑 | 2400 |
各従業員のすべての情報を表示しますが、最初に給与の降順で、次に姓の昇順でレコードを並べ替えます。
解決策:
SELECT id, first_name, last_name, salary FROM employee ORDER BY salary DESC, last_name;
このクエリは、次の2つの列に従って並べ替えられたレコードを返します。 salary およびlast_name 。
id | first_name | last_name | 給与 |
---|---|---|---|
4 | マイケル | M uller | 3000 |
1 | リサ | U lman | 3000 |
3 | トーマス | G reen | 2400 |
5 | メアリー | G reen | 2400 |
2 | エイダ | M uller | 2400 |
ディスカッション:
テーブルからレコードを選択したいが、それらを2つの列に従ってソートしたい場合は、ORDER BY
を使用して行うことができます。 。この句は、SQLクエリの最後にあります。
ORDER BY
の後 キーワードに、レコードを最初に並べ替える列の名前(この例では、給与)を追加します。次に、カンマの後に2番目の列を追加します(この例では、last_name
)。列ごとに個別に並べ替え順序(昇順または降順)を変更できます。昇順(低から高)を使用する場合は、ASC
を使用できます。 キーワード;ただし、このキーワードはオプションです。何も指定されていない場合のデフォルトの順序です。降順を使用する場合は、DESC
を入力します 適切な列の後のキーワード(この例では、salary
に降順を使用しました 列)。
この例では、最初に結果を給与の降順(高い給与から低い給与)で並べ替え、次に、すでに並べ替えられたレコード内で姓の昇順で並べ替えました。