Maison > Questions et réponses > le corps du texte
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!
P粉6163836252024-04-05 11:32:53
select brand,units, FIRST_VALUE(units) OVER (ORDER BY UNITS DESC) as Highest from units_table
Ça marche pour moi
P粉9596764102024-04-05 09:38:42
Vous avez besoin de MAX()
Fonction fenêtre :
SELECT brand, units, MAX(units) OVER () AS Highest FROM units_table;
Voir Démo.