すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:ORDER BY

最終更新日:Nov 09, 2025

ORDER BY 句を使用して、特定のフィールドに基づいてクエリ結果をソートできます。 LIMIT 句を ORDER BY 句と組み合わせて使用すると、ソート後に返される行数を指定できます。 この Topic では、ORDER BY 構文について説明し、ORDER BY 句の使用方法の例を示します。

構文

ORDER BY expression
[ ASC | DESC ]
[ LIMIT count]

パラメーター

必須

説明

expression

必須

クエリ結果のソート基準となるフィールド。 有効な値:

  • フィールドの名前。 たとえば、値 device は、device 列に基づいてクエリ結果をソートすることを指定します。

  • クエリ結果内のフィールドの序数。 フィールドは左から右にソートされます。 序数は 1 から始まります。 たとえば、値 4 は、4 番目の列に基づいてクエリ結果をソートすることを指定します。

[ ASC | DESC ]

任意

クエリ結果のソート基準となる順序。 有効な値:

  • ASC: 昇順 (デフォルト)。

  • DESC: 降順。

説明

expression パラメーターに複数のフィールドを指定する場合、各フィールドのソート順を指定できます。 たとえば、ORDER BY 2 ASC, 4 DESC は、2 番目の列に基づいてクエリ結果を昇順にソートし、次に 4 番目の列に基づいて降順にソートすることを指定します。

[ LIMIT count]

返される行数。

このパラメーターを空のままにすると、システムはクエリ結果のすべての行を返します。

  • さまざまな都市でのデバイスの売上をクエリし、結果をデバイス名とデバイスの売上でソートします。

    SELECT os,device,city,COUNT(*) AS num FROM requests GROUP BY os,device,city ORDER BY num,device;

    次の情報が返されます。

    os      |device |city         |num
    --------+-------+-------------+---
    Linux   |PC     |Shanghai     |1
    windows |PC     |Shenzhen     |1
    windows |PC     |Shanghai     |1
    windows |PC     |Hangzhou     |1
    windows |Phone	|Shenzhen     |1
    Linux   |Phone  |Hangzhou     |1
    ios     |Phone  |Zhangjiakou  |1
    windows |PC     |Shijiazhuang |2
    Linux   |PC     |Beijing      |2
    ios     |Phone  |Shijiazhuang |2
    windows |Phone  |Shijiazhuang |2
    Linux   |Phone  |Beijing      |2
    windows |PC     |Beijing      |4
  • デバイスの売上が最も高い上位 5 都市をクエリし、結果をデバイス名の降順、デバイスの売上の昇順でソートします。

    SELECT os,device,city,COUNT(*) AS num FROM requests GROUP BY os,device,city ORDER BY 2 DESC,4 ASC LIMIT 5;

    次の情報が返されます。

    os     |device |city        |num
    -------+-------+------------+----
    ios    |Phone  |Zhangjiakou |1
    windows|Phone  |Shenzhen    |1
    Linux  |Phone  |Hangzhou    |1
    windows|Phone  |Shijiazhuang|2
    Linux  |Phone  |Beijing	    |2

よくある質問