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

AnalyticDB:ORDER BY

最終更新日:Oct 11, 2024

ORDER BY句を使用して、特定のフィールドに基づいてクエリ結果を並べ替えることができます。 LIMIT句をORDER BY句と一緒に使用して、ソート後に返される行の数を指定できます。 このトピックでは、ORDER BY構文について説明し、ORDER BY句の使用方法の例を示します。

構文

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

パラメーター

必須

説明

必須

クエリ結果の並べ替えに基づいたフィールド。 有効な値:

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

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

[ ASC | DESC ]

選択可能

クエリ結果をソートする順序です。 有効な値:

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

  • DESC: 降順。

説明

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

[ LIMITカウント]

返される行の数。

このパラメーターを空のままにすると、クエリ結果のすべての行が返されます。

  • さまざまな都市のデバイス販売を照会し、デバイス名とデバイス販売で結果を並べ替えます。

    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