Tambahkan nilai tertinggi sebagai lajur menggunakan fungsi tetingkap
P粉043295337
P粉043295337 2024-04-04 12:18:16
0
2
520

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粉043295337
P粉043295337

membalas semua(2)
P粉616383625
select brand,units,
 FIRST_VALUE(units) OVER (ORDER BY UNITS DESC) as Highest
from units_table

Berfungsi untuk saya

P粉959676410

Anda perlukan MAX()Fungsi tetingkap:

SELECT brand,
       units,
       MAX(units) OVER () AS Highest
FROM units_table;

Lihat Demo.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan