View a markdown version of this page

Klausa ORDER BY - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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.

Sintaksis

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

Parameter

ekspresi

Ekspresi yang mendefinisikan urutan urutan kumpulan hasil kueri, biasanya dengan menentukan satu atau lebih kolom dalam daftar pilih. Hasil dikembalikan berdasarkan urutan bin UTF-8 er. Anda juga dapat menentukan yang berikut:

  • Kolom yang tidak ada dalam daftar pilih

  • Ekspresi dibentuk dari satu atau lebih kolom yang ada dalam tabel yang direferensikan oleh query

  • 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 sesuai dengan ekspresi pertama, kemudian ekspresi kedua diterapkan ke baris yang memiliki nilai yang cocok dari ekspresi pertama, dan seterusnya.

ASC | DESKRIPSI

Opsi yang mendefinisikan urutan 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: menurun (tinggi ke rendah untuk nilai numerik; 'Z' ke 'A' untuk string).

NULLS FIRST | NULL 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.

Nomor BATAS | SEMUA

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

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

Mulai OFFSET

Opsi yang menentukan untuk melewati jumlah baris sebelum mulai sebelum mulai mengembalikan baris. Angka OFFSET harus berupa bilangan bulat positif; nilai maksimumnya adalah2147483647. Saat digunakan dengan opsi LIMIT, baris OFFSET dilewati sebelum mulai menghitung baris LIMIT yang dikembalikan. Jika opsi LIMIT tidak digunakan, jumlah baris dalam set 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 pengurutan menaik default, nilai NULL diurutkan 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 hasil yang ditetapkan 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 paralel apa pun seperti Amazon Redshift, ketika ORDER BY tidak menghasilkan urutan yang unik, urutan baris tidak deterministik. Artinya, jika ekspresi ORDER BY menghasilkan nilai duplikat, urutan pengembalian baris tersebut mungkin berbeda dari sistem lain atau dari satu proses Amazon Redshift ke yang berikutnya.

  • Amazon Redshift tidak mendukung literal string dalam klausa ORDER BY.