問題:
SQLクエリの結果を昇順または降順で並べ替えます。
例:
私たちのデータベースには、salary_information id列にデータがあります 、first_name 、last_name 、およびmonthly_earnings 。従業員をmonthly_earningsで並べ替えたい 降順。
| id | first_name | last_name | monthly_earnings |
|---|---|---|---|
| 1 | カルバン | リオス | 3500 |
| 2 | アラン | パターソン | 4000 |
| 3 | カート | エバンス | 2300 |
| 4 | アレックス | ワトキンス | 5500 |
解決策:
ORDER BYを使用します 句。クエリは次のとおりです:
関数CURRENT_DATEを使用します 現在の日付を取得するには:
SELECT first_name, last_name, monthly_earnings FROM salary_information ORDER BY monthly_earnings DESC
クエリの結果は次のとおりです。
| first_name | last_name | monthly_earnings |
|---|---|---|
| アレックス | ワトキンス | 5500 |
| アラン | パターソン | 4000 |
| カルバン | リオス | 3500 |
| カート | エバンス | 2300 |
これで、アレックスワトキンスがリストの最初にいることがわかります。つまり、彼が最も多くのお金を稼いでいるということです。
ディスカッション:
ORDER BYを使用する データセットを昇順または降順で並べ替える場合は、句。 ORDER BYの構文 条項は次のとおりです:
SELECT col1, col2, … FROM table ORDER BY col1, col2, … ASC|DESC;
上記では、ASC|DESC キーワードASCのいずれかを選択する必要があることを意味します (昇順)またはDESC (降順)データセットを希望どおりに並べ替えます。
数値列で並べ替えるだけでなく、テキスト列で並べ替えることもできます。 ORDER BY 句はテキスト列をアルファベット順にソートします。
列名の代わりに、左から数えて列の位置を使用することもできます。したがって、この例では、次のように書く代わりに:
ORDER BY monthly_earnings DESC
次のように書くこともできます:
ORDER BY 3 DESC
例のテーブルをfirst_nameで並べ替える場合 列をアルファベット順(昇順)にすると、次のクエリを使用できます。
SELECT first_name, last_name, monthly_earnings FROM salary_information ORDER BY first_name ASC
複数の列で並べ替えることができることも注目に値します。これは、特定の列の一部の値が繰り返され、追加の並べ替えが必要な場合に役立ちます。この場合、ORDERBY句で列名をコンマで区切ります。
ある列で昇順で並べ替えたり、別の列で降順で並べ替えたりすることもできます。以下に、この組み合わせの構文を示します。
ORDER BY Col1 ASC, Col2 DESC;
ASCを省略した場合 またはDESC キーワードでは、昇順の並べ替えがデフォルトで実行されます。