Rumah > Soal Jawab > teks badan
Saya ada meja seperti ini:
Pertanyaan untuk menyalin data:
DROP TABLE IF EXISTS units_table; CREATE TEMP TABLE units_table ( Brand varchar(100), units numeric(38,12) ); INSERT INTO units_table (Brand, units) VALUES ('A',200),('B',0),('C',300),('D',400),('E',1500),('F',700),('G',800),('H',450);
Khusus menggunakan fungsi tetingkap, saya ingin mendapatkan nilai tertinggi dalam jadual. Seperti yang ditunjukkan di bawah:
Tetapi apabila saya menggunakan:
select brand, units, FIRST_VALUE(units) OVER () as Highest from units_table
Nilai pertama yang diberikan ialah 0. Jika saya melakukan ini,
select brand, units, FIRST_VALUE(units) OVER (ORDER BY UNITS) as Highest from units_table
Baling ralat. Sejauh manakah Fungsi Tetingkap seharusnya digunakan untuk menyelesaikan masalah ini? Terima kasih terlebih dahulu!
P粉6163836252024-04-05 11:32:53
select brand,units, FIRST_VALUE(units) OVER (ORDER BY UNITS DESC) as Highest from units_table
Berfungsi untuk saya
P粉9596764102024-04-05 09:38:42
Anda perlukan MAX()
Fungsi tetingkap:
SELECT brand, units, MAX(units) OVER () AS Highest FROM units_table;
Lihat Demo.