Klausa ORDER BY - AWS Clean Rooms

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Klausa ORDER BY

Klausa ORDER BY mengurutkan kumpulan hasil kueri.

catatan

Ekspresi ORDER BY terluar harus hanya memiliki kolom yang ada di daftar pilih.

Sintaks

[ ORDER BY expression [ ASC | DESC ] ] [ NULLS FIRST | NULLS LAST ] [ LIMIT { count | ALL } ] [ OFFSET start ]

Parameter

ekspresi

Ekspresi yang mendefinisikan urutan pengurutan hasil query. Ini terdiri dari satu atau lebih kolom dalam daftar pilih. Hasil dikembalikan berdasarkan urutan UTF-8 biner. Anda juga dapat menentukan yang berikut:

  • Nomor urut yang mewakili posisi entri daftar pilih (atau posisi kolom dalam tabel jika tidak ada daftar pilih)

  • Alias yang menentukan entri daftar pilih

Ketika klausa ORDER BY berisi beberapa ekspresi, kumpulan hasil diurutkan menurut ekspresi pertama, maka ekspresi kedua diterapkan ke baris yang memiliki nilai yang cocok dari ekspresi pertama, dan seterusnya.

ASC | DESC

Opsi yang mendefinisikan urutan pengurutan untuk ekspresi, sebagai berikut:

  • ASC: naik (misalnya, rendah ke tinggi untuk nilai numerik dan 'A' ke 'Z' untuk string karakter). Jika tidak ada opsi yang ditentukan, data diurutkan dalam urutan menaik secara default.

  • DESC: turun (tinggi ke rendah untuk nilai numerik; 'Z' ke 'A' untuk string).

NULLS PERTAMA | NULLS TERAKHIR

Opsi yang menentukan apakah nilai NULL harus diurutkan terlebih dahulu, sebelum nilai non-null, atau terakhir, setelah nilai non-null. Secara default, nilai NULL diurutkan dan diberi peringkat terakhir dalam urutan ASC, dan diurutkan dan diberi peringkat pertama dalam urutan DESC.

BATASAN nomor | SEMUA

Opsi yang mengontrol jumlah baris yang diurutkan yang dikembalikan kueri. Bilangan LIMIT harus berupa bilangan bulat positif; nilai maksimumnya adalah2147483647.

LIMIT 0 tidak mengembalikan baris. Anda dapat menggunakan sintaks ini untuk tujuan pengujian: untuk memeriksa apakah kueri berjalan (tanpa menampilkan baris apa pun) atau mengembalikan daftar kolom dari tabel. Klausa ORDER BY berlebihan jika Anda menggunakan LIMIT 0 untuk mengembalikan daftar kolom. Defaultnya adalah LIMIT ALL.

OFFSET mulai

Opsi yang menentukan untuk melewati jumlah baris sebelum memulai sebelum mulai mengembalikan baris. Angka OFFSET harus berupa bilangan bulat positif; nilai maksimumnya adalah. 2147483647 Saat digunakan dengan opsi LIMIT, baris OFFSET dilewati sebelum mulai menghitung baris LIMIT yang dikembalikan. Jika opsi LIMIT tidak digunakan, jumlah baris dalam kumpulan hasil dikurangi dengan jumlah baris yang dilewati. Baris yang dilewati oleh klausa OFFSET masih harus dipindai, jadi mungkin tidak efisien untuk menggunakan nilai OFFSET yang besar.

Catatan penggunaan

Perhatikan perilaku yang diharapkan berikut dengan klausa ORDER BY:

  • Nilai NULL dianggap “lebih tinggi” dari semua nilai lainnya. Dengan urutan urutan menaik default, nilai NULL mengurutkan di akhir. Untuk mengubah perilaku ini, gunakan opsi NULLS FIRST.

  • Ketika kueri tidak berisi klausa ORDER BY, sistem mengembalikan set hasil tanpa urutan baris yang dapat diprediksi. Kueri yang sama dijalankan dua kali mungkin mengembalikan set hasil dalam urutan yang berbeda.

  • Opsi LIMIT dan OFFSET dapat digunakan tanpa klausa ORDER BY; namun, untuk mengembalikan serangkaian baris yang konsisten, gunakan opsi ini bersama dengan ORDER BY.

  • Dalam sistem parallel seperti AWS Clean Rooms, ketika ORDER BY tidak menghasilkan urutan yang unik, urutan baris adalah nondeterministik. Artinya, jika ekspresi ORDER BY menghasilkan nilai duplikat, urutan pengembalian baris tersebut mungkin berbeda dari sistem lain atau dari satu proses AWS Clean Rooms ke yang berikutnya.

  • AWS Clean Rooms tidak mendukung literal string dalam klausa ORDER BY.