logo

降順の SQL ORDER BY 句

  • SQL データベースのテーブルに格納されている列に基づいてレコードを並べ替える場合は、SQL で ORDER BY 句の使用を検討します。
  • SQL の ORDER BY 句は、テーブルの特定の列に基づいてレコードを並べ替えるのに役立ちます。これは、最初に、ORDER BY 句を適用している列に格納されているすべての値が並べ替えられることを意味します。次に、対応する列の値が、前の手順で取得した値と同じ順序で表示されます。
  • ORDER BY 句を使用すると、要件に応じてレコードを昇順または降順に並べ替えることができます。 ASC キーワードが ORDER by 句とともに使用されると、レコードは昇順で並べ替えられます。 DESC キーワードはレコードを降順に並べ替えます 。レコードの並べ替えに基づいて列の後にキーワードが指定されていない場合、その場合、並べ替えはデフォルトで昇順で行われます。

レコードを並べ替えるためのクエリを作成する前に、構文を理解しましょう。

レコードを降順に並べ替える構文:

SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC; 

例を使用して、このトピックについてさらに詳しく見てみましょう。例ではクエリを記述するために MySQL データベースを使用します。

次のレコードを含む顧客テーブルがあるとします。

ID 名前 住所 給料
1 ヒマニ・グプタ 21 モディ・ナガル 22000
2 シヴァ・ティワリ 22 ボパール 21000
3 アジート・バーガブ 4つ。 メーラト 65000
4 リテーシュ・ヤダフ 36 アザムガル 26000
5 バルワント・シン 4つ。 バラナシ 36000
6 マヘシュ・シャルマ 26 マトゥラ 22000
7 ロヒット・スリヴァスタヴァ 19 アーメダバード 38000
8 ニール・シャルマ 29 プネ 40000
9 アカシュ・ヤダフ 32 ムンバイ 43500
10 サヒル・シェイク 35 オーランガバード 68800

例 1:

Customers テーブルに格納されている顧客名の降順でレコードを並べ替えるクエリを作成します。

アルファベットの数字

クエリ:

mysql> SELECT *FROM customers ORDER BY Name DESC;

ここの SELECT クエリでは、レコードを並べ替えるために ORDER BY 句が列 'Name' に適用されます。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

ID 名前 住所 給料
2 シヴァ・ティワリ 22 ボパール 21000
10 サヒル・シェイク 35 オーランガバード 68800
7 ロヒット・スリヴァスタヴァ 19 アーメダバード 38000
4 リテーシュ・ヤダフ 36 アザムガル 26000
8 ニール・シャルマ 29 プネ 40000
6 マヘシュ・シャルマ 26 マトゥラ 22000
1 ヒマニ・グプタ 21 モディ・ナガル 22000
5 バルワント・シン 4つ。 バラナシ 36000
3 アジート・バーガブ 4つ。 メーラト 65000
9 アカシュ・ヤダフ 32 ムンバイ 43500

Customers テーブルに存在するすべてのレコードは、顧客名の降順で表示されます。

例 2:

Customers テーブルに格納されているアドレスの降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM customers ORDER BY Address DESC;

ここの SELECT クエリでは、レコードを並べ替えるために ORDER BY 句が「Address」列に適用されます。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

ID 名前 住所 給料
5 バルワント・シン 4つ。 バラナシ 36000
8 ニール・シャルマ 29 プネ 40000
9 アカシュ・ヤダフ 32 ムンバイ 43500
1 ヒマニ・グプタ 21 モディ・ナガル 22000
3 アジート・バーガブ 4つ。 メーラト 65000
6 マヘシュ・シャルマ 26 マトゥラ 22000
2 シヴァ・ティワリ 22 ボパール 21000
4 リテーシュ・ヤダフ 36 アザムガル 26000
10 サヒル・シェイク 35 オーランガバード 68800
7 ロヒット・スリヴァスタヴァ 19 アーメダバード 38000

Customers テーブルに存在するすべてのレコードは、顧客の住所の降順で表示されます。

例 3:

Customers テーブルに格納されている顧客の給与の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM customers ORDER BY Salary DESC;

ここの SELECT クエリでは、レコードを並べ替えるために ORDER BY 句が列「Salary」に適用されています。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

ID 名前 住所 給料
10 サヒル・シェイク 35 オーランガバード 68800
3 アジート・バーガブ 4つ。 メーラト 65000
9 アカシュ・ヤダフ 32 ムンバイ 43500
8 ニール・シャルマ 29 プネ 40000
7 ロヒット・スリヴァスタヴァ 19 アーメダバード 38000
5 バルワント・シン 4つ。 バラナシ 36000
4 リテーシュ・ヤダフ 36 アザムガル 26000
6 マヘシュ・シャルマ 26 マトゥラ 22000
1 ヒマニ・グプタ 21 モディ・ナガル 22000
2 シヴァ・ティワリ 22 ボパール 21000

顧客テーブルに存在するすべてのレコードは、顧客の給与の降順で表示されます。

例 4:

Customers テーブルに格納されている顧客の年齢の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM customers ORDER BY Age DESC;

ここの SELECT クエリでは、ORDER BY 句が列「Age」に適用されてレコードが並べ替えられています。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

ID 名前 住所 給料
3 アジート・バーガブ 4つ。 メーラト 65000
5 バルワント・シン 4つ。 バラナシ 36000
4 リテーシュ・ヤダフ 36 アザムガル 26000
10 サヒル・シェイク 35 オーランガバード 68800
9 アカシュ・ヤダフ 32 ムンバイ 43500
8 ニール・シャルマ 29 プネ 40000
6 マヘシュ・シャルマ 26 マトゥラ 22000
2 シヴァ・ティワリ 22 ボパール 21000
1 ヒマニ・グプタ 21 モディ・ナガル 22000
7 ロヒット・スリヴァスタヴァ 19 アーメダバード 38000

顧客テーブルに存在するすべてのレコードは、顧客の年齢の降順で表示されます。

次のレコードを持つエージェントという名前の別のテーブルがあるとします。

援助 名前 作業エリア 利益率 連絡先番号 給料
1 ガープリート・シン バンガロール 1 9989675432 43000
2 サクシ・クマリ チェンナイ 5 8190567342 25000
3 Prachi Desai ムンバイ 2 9056123432 60000
4 シヴァニ もっと見る プネ 3 8894236789 35500
5 パラヴィ・シン デリー 4 7798092341 38700
6 ロヒニ・クルカルニ アンバラ 8 7890945612 25670
7 シュエタは言った チャンディーガル 6 8898786453 31670
8 ソナクシ ティワリ ウダイプール 2 9809453421 25050
9 アヌシュカ・トリパティ あなたの指に 9 8909124326 38000
10 デヴィカ・シャルマ 行きます 7 7864523145 44050

例 1:

エージェント テーブルに格納されているエージェント名の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM agents ORDER BY Name DESC;

ここの SELECT クエリでは、レコードを並べ替えるために ORDER BY 句が列 'Name' に適用されます。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

援助 名前 作業エリア 利益率 連絡先番号 給料
8 ソナクシ ティワリ ウダイプール 2 9809453421 25050
7 シュエタは言った チャンディーガル 6 8898786453 31670
4 シヴァニ もっと見る プネ 3 8894236789 35500
2 サクシ・クマリ チェンナイ 5 8190567342 25000
6 ロヒニ・クルカルニ アンバラ 8 7890945612 25670
3 Prachi Desai ムンバイ 2 9056123432 60000
5 パラヴィ・シン デリー 4 7798092341 38700
1 ガープリート・シン バンガロール 1 9989675432 43000
10 デヴィカ・シャルマ 行きます 7 7864523145 44050
9 アヌシュカ・トリパティ あなたの指に 9 8909124326 38000

エージェント テーブルに存在するすべてのレコードが、エージェント名の降順で表示されます。

例 2:

エージェント テーブルに格納されているエージェントの給与の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM agents ORDER BY Salary DESC;

ここの SELECT クエリでは、レコードを並べ替えるために ORDER BY 句が列「Salary」に適用されています。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

援助 名前 作業エリア 利益率 連絡先番号 給料
3 Prachi Desai ムンバイ 2 9056123432 60000
10 デヴィカ・シャルマ 行きます 7 7864523145 44050
1 ガープリート・シン バンガロール 1 9989675432 43000
5 パラヴィ・シン デリー 4 7798092341 38700
9 アヌシュカ・トリパティ あなたの指に 9 8909124326 38000
4 シヴァニ もっと見る プネ 3 8894236789 35500
7 シュエタは言った チャンディーガル 6 8898786453 31670
6 ロヒニ・クルカルニ アンバラ 8 7890945612 25670
8 ソナクシ ティワリ ウダイプール 2 9809453421 25050
2 サクシ・クマリ チェンナイ 5 8190567342 25000

エージェント テーブルに存在するすべてのレコードは、エージェントの給与の降順で表示されます。

例 3:

エージェント テーブルに格納されているエージェントの作業領域の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM agents ORDER BY WorkArea DESC;

ここの SELECT クエリでは、レコードを並べ替えるために列「WorkArea」に ORDER BY 句が適用されます。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

援助 名前 作業エリア 利益率 連絡先番号 給料
9 アヌシュカ・トリパティ あなたの指に 9 8909124326 38000
8 ソナクシ ティワリ ウダイプール 2 9809453421 25050
4 シヴァニ もっと見る プネ 3 8894236789 35500
3 Prachi Desai ムンバイ 2 9056123432 60000
10 デヴィカ・シャルマ 行きます 7 7864523145 44050
5 パラヴィ・シン デリー 4 7798092341 38700
2 サクシ・クマリ チェンナイ 5 8190567342 25000
7 シュエタは言った チャンディーガル 6 8898786453 31670
1 ガープリート・シン バンガロール 1 9989675432 43000
6 ロヒニ・クルカルニ アンバラ 8 7890945612 25670

エージェント テーブルに存在するすべてのレコードは、エージェントのワークエリアの降順で表示されます。

例 4:

エージェント テーブルに格納されているエージェントの利益率の降順でレコードを並べ替えるクエリを作成します。

クエリ:

mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;

ここの SELECT クエリでは、レコードを並べ替えるために 'Profit_Percent' 列に ORDER BY 句が適用されます。 DESC キーワードはレコードを降順に並べ替えます。

次の出力が得られます。

援助 名前 作業エリア 利益率 連絡先番号 給料
9 アヌシュカ・トリパティ あなたの指に 9 8909124326 38000
6 ロヒニ・クルカルニ アンバラ 8 7890945612 25670
10 デヴィカ・シャルマ 行きます 7 7864523145 44050
7 シュエタは言った チャンディーガル 6 8898786453 31670
2 サクシ・クマリ チェンナイ 5 8190567342 25000
5 パラヴィ・シン デリー 4 7798092341 38700
4 シヴァニ もっと見る プネ 3 8894236789 35500
3 Prachi Desai ムンバイ 2 9056123432 60000
8 ソナクシ ティワリ ウダイプール 2 9809453421 25050
1 ガープリート・シン バンガロール 1 9989675432 43000

エージェント テーブルに存在するすべてのレコードは、エージェントの利益パーセントの降順で表示されます。