All Products
Search
Document Center

MaxCompute:MAX_PT

Last Updated:Jul 02, 2025

Mengembalikan nama partisi level-1 terbesar yang berisi data dalam tabel terpartisi serta membaca data dari partisi tersebut. Fungsi ini menentukan partisi terbesar dengan mengurutkan partisi secara alfabetis.

Catatan penggunaan

  • Anda dapat menggunakan pernyataan SQL standar sebagai pengganti pernyataan yang memanfaatkan fungsi MAX_PT. Sebagai contoh, gunakan SELECT * FROM table WHERE pt=MAX_PT("table"); sebagai alternatif untuk SELECT * FROM table WHERE pt = (SELECT MAX(pt) FROM table);.

    Catatan

    MaxCompute tidak menyediakan fungsi MIN_PT. Untuk mendapatkan partisi dengan jumlah data paling sedikit dalam tabel terpartisi, Anda tidak dapat menggunakan pernyataan SQL SELECT * FROM table WHERE pt=MIN_PT("table");. Sebagai gantinya, gunakan pernyataan SQL standar SELECT * FROM table WHERE pt= (SELECT MIN(pt) FROM table); untuk mencapai efek serupa seperti fungsi MAX_PT.

  • Jika semua partisi dalam tabel kosong, fungsi MAX_PT gagal dieksekusi. Pastikan setidaknya satu partisi tidak kosong.

  • Tabel eksternal OSS juga mendukung fungsi MAX_PT, dengan perilaku yang konsisten dengan tabel internal.

Sintaks

MAX_PT(<table_full_name>)

Parameter

table_full_name: Wajib. Nilai bertipe STRING. Parameter ini menentukan nama tabel. Anda harus memiliki izin baca pada tabel tersebut.

Nilai kembali

Nama partisi level-1 terbesar dikembalikan.

Catatan

Jika sebuah partisi dibuat menggunakan pernyataan ALTER TABLE dan partisi tersebut tidak berisi data, partisi ini tidak akan dikembalikan.

Contoh

  • Contoh 1: Tabel tbl adalah tabel terpartisi. Partisi dalam tabel adalah 20120901 dan 20120902, keduanya berisi data. Jika Anda mengeksekusi pernyataan berikut, fungsi MAX_PT mengembalikan '20120902', dan pernyataan SQL MaxCompute membaca data dari partisi 20120902. Contoh pernyataan:

    SELECT * FROM tbl WHERE pt= MAX_PT('tbl');
    -- Pernyataan di atas setara dengan pernyataan berikut:
    SELECT * FROM tbl WHERE pt= (SELECT MAX(pt) FROM tbl);
  • Contoh 2: Jika tabel terpartisi berisi beberapa tingkat partisi, gunakan pernyataan SQL standar untuk mendapatkan data dari partisi terbesar. Contoh pernyataan:

    SELECT * FROM table WHERE pt1 = (SELECT MAX(pt1) FROM table) AND pt2 = (SELECT MAX(pt2) FROM table WHERE pt1= (SELECT MAX(pt1) FROM table));

Fungsi terkait

Untuk informasi lebih lanjut, lihat Fungsi Lainnya.