J'ai une table comme celle-ci :
Requête pour copier des données :
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);
En utilisant spécialement les fonctions de fenêtre, je souhaite obtenir la valeur la plus élevée du tableau. Comme indiqué ci-dessous :
Mais quand j'utilise :
select brand, units, FIRST_VALUE(units) OVER () as Highest from units_table
La première valeur qu'il donne est 0. Si je fais ça,
select brand, units, FIRST_VALUE(units) OVER (ORDER BY UNITS) as Highest from units_table
Lance une erreur. Dans quelle mesure la fonction Window doit-elle être utilisée spécifiquement pour résoudre ce problème ? Merci d'avance!
Ça marche pour moi
Vous avez besoin de
MAX()Fonction fenêtre :SELECT brand, units, MAX(units) OVER () AS Highest FROM units_table;Voir Démo.