Ich habe einen Tisch wie diesen:
Abfrage zum Kopieren von Daten:
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);
Insbesondere wenn ich Fensterfunktionen verwende, möchte ich den höchsten Wert in der Tabelle erhalten. Wie unten gezeigt:
Aber wenn ich verwende:
select brand, units, FIRST_VALUE(units) OVER () as Highest from units_table
Der erste Wert, den es gibt, ist 0. Wenn ich das mache,
select brand, units, FIRST_VALUE(units) OVER (ORDER BY UNITS) as Highest from units_table
Fehler auslösen. Wie konkret sollte die Fensterfunktion verwendet werden, um dieses Problem zu lösen? Vielen Dank im Voraus!
对我有用
您需要
MAX()
窗口函数:请参阅演示。