

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Keyspaces で `ORDER BY` を使用して結果を並べ替える
<a name="ordering-results"></a>

`ORDER BY` 句は、`SELECT` ステートメントで返された結果のソート順序を指定するものです。このステートメントでは列名のリストが引数として解釈されるので、各列に対してデータのソート順を指定できます。クラスタリング列は順序句でしか指定できず、非クラスタリング列は許容されません。

返された結果に対するソート順序のオプションは、昇順の `ASC` と降順の `DESC` です。

```
SELECT * FROM my_keyspace.my_table ORDER BY (col1 ASC, col2 DESC, col3 ASC);

         col1 | col2 | col3  
        ------+------+------
          0   |  6   |  a   
          1   |  5   |  b   
          2   |  4   |  c   
          3   |  3   |  d   
          4   |  2   |  e   
          5   |  1   |  f   
          6   |  0   |  g
```

```
SELECT * FROM my_keyspace.my_table ORDER BY (col1 DESC, col2 ASC, col3 DESC);

         col1 | col2 | col3  
        ------+------+------
          6   |  0   |  g   
          5   |  1   |  f   
          4   |  2   |  e   
          3   |  3   |  d   
          2   |  4   |  c   
          1   |  5   |  b   
          0   |  6   |  a
```

クエリステートメントでソート順序を指定しない場合、クラスタリング列のデフォルトの順序が使用されます。

順序句で使用可能なソート順序は、テーブル作成時に各クラスタリング列に割り当てられたソート順序に依存します。クエリ結果は、テーブル作成時にすべてのクラスタリング列に対して定義された順序、または定義されたソート順序とは逆の順序でのみソートできます。その他の組み合わせは使用できません。

例えば、テーブルの `CLUSTERING ORDER` が (col1 ASC, col2 DESC, col3 ASC) である場合、`ORDER BY` の有効なパラメータは (col1 ASC, col2 DESC, col3 ASC) または (col1 DESC, col2 ASC, col3 DESC) のいずれかになります。`CLUSTERING ORDER` に関する詳細については、[CREATE TABLE](cql.ddl.table.md#cql.ddl.table.create) の `table_options` を参照してください。