

 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 ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) 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.

# Fungsi jendela ROW\_NUMBER
<a name="r_WF_ROW_NUMBER"></a>

Menetapkan nomor ordinal dari baris saat ini dalam kelompok baris, dihitung dari 1, berdasarkan ekspresi ORDER BY dalam klausa OVER. Jika klausa PARTITION BY opsional hadir, nomor ordinal diatur ulang untuk setiap kelompok baris. Baris dengan nilai yang sama untuk ekspresi ORDER BY menerima nomor baris yang berbeda secara nondeterministik. 

## Sintaksis
<a name="r_WF_ROW_NUMBER-synopsis"></a>

```
ROW_NUMBER() OVER(
  [ PARTITION BY expr_list ]
  [ ORDER BY order_list ]
)
```

## Argumen
<a name="r_WF_ROW_NUMBER-arguments"></a>

( )   
Fungsi tidak mengambil argumen, tetapi tanda kurung kosong diperlukan. 

DI ATAS   
Klausa fungsi jendela untuk fungsi ROW\_NUMBER. 

PARTISI OLEH * expr\_list *   
Tidak wajib. Satu atau lebih ekspresi kolom yang membagi hasil menjadi kumpulan baris. 

PESANAN BERDASARKAN * order\_list *   
Tidak wajib. Satu atau lebih ekspresi kolom yang mendefinisikan urutan baris dalam satu set. Jika tidak ada PARTITION BY yang ditentukan, ORDER BY menggunakan seluruh tabel.   
Jika ORDER BY tidak menghasilkan urutan unik atau dihilangkan, urutan baris tidak deterministik. Untuk informasi selengkapnya, lihat [Urutan data yang unik untuk fungsi jendela](c_Window_functions.md#r_Examples_order_by_WF). 

## Jenis pengembalian
<a name="c_Supported_data_types_r_WF_ROW_NUMBER"></a>

BIGINT

## Contoh
<a name="r_WF_ROW_NUMBER-examples"></a>

Contoh-contoh berikut menggunakan `WINSALES` tabel. Untuk deskripsi `WINSALES` tabel, lihat[Tabel sampel untuk contoh fungsi jendela](c_Window_functions.md#r_Window_function_example). 

Contoh berikut mengurutkan tabel berdasarkan QTY (dalam urutan menaik), lalu menetapkan nomor baris untuk setiap baris. Hasilnya diurutkan setelah hasil fungsi jendela diterapkan. 

```
SELECT salesid, sellerid, qty, 
ROW_NUMBER() OVER(
   ORDER BY qty ASC) AS row
FROM winsales
ORDER BY 4,1;

salesid   sellerid   qty   row
---------+----------+-----+-----
   30001 |        3 |  10 |   1	
   10001 |        1 |  10 |   2	
   10006 |        1 |  10 |   3
   40005 |        4 |  10 |   4
   30003 |        3 |  15 |   5
   20001 |        2 |  20 |   6
   20002 |        2 |  20 |   7
   30004 |        3 |  20 |   8
   10005 |        1 |  30 |   9
   30007 |        3 |  30 |  10
   40001 |        4 |  40 |  11
```

Contoh berikut mempartisi tabel dengan SELLERID dan mengurutkan setiap partisi berdasarkan QTY (dalam urutan menaik), lalu menetapkan nomor baris untuk setiap baris. Hasilnya diurutkan setelah hasil fungsi jendela diterapkan. 

```
SELECT salesid, sellerid, qty, 
ROW_NUMBER() OVER(
  PARTITION BY sellerid
  ORDER BY qty ASC) AS row_by_seller
FROM winsales
ORDER BY 2,4;

 salesid | sellerid | qty | row_by_seller
---------+----------+-----+-----
   10001 |        1 |  10 |   1
   10006 |        1 |  10 |   2
   10005 |        1 |  30 |   3
   20001 |        2 |  20 |   1
   20002 |        2 |  20 |   2
   30001 |        3 |  10 |   1
   30003 |        3 |  15 |   2
   30004 |        3 |  20 |   3
   30007 |        3 |  30 |   4
   40005 |        4 |  10 |   1
   40001 |        4 |  40 |   2
```

Contoh berikut menunjukkan hasil saat tidak menggunakan klausa opsional. 

```
SELECT salesid, sellerid, qty, ROW_NUMBER() OVER() AS row
FROM winsales
ORDER BY 4,1;

salesid   sellerid   qty   row
---------+----------+-----+-----
   30001 |        3 |  10 |   1	
   10001 |        1 |  10 |   2	
   10005 |        1 |  30 |   3
   40001 |        4 |  40 |   4
   10006 |        1 |  10 |   5
   20001 |        2 |  20 |   6
   40005 |        4 |  10 |   7
   20002 |        2 |  20 |   8
   30003 |        3 |  15 |   9
   30004 |        3 |  20 |  10
   30007 |        3 |  30 |  11
```