Name Value AnotherColumn
-----------
Pump 1 8000.0 Something1
Pump 1 10000.0 Something2
Pump 1 10000.0 Something3
Pump 2 3043 Something4
Pump 2 4594 Something5
Pump 2 6165 Something6
Ma table ressemble à quelque chose comme ça. Je voudrais savoir comment sélectionner la valeur maximale pour chaque pompe.
select a.name, value from out_pumptable as a,
(select name, max(value) as value from out_pumptable where group by posnumber)g where and g.value = value
ce code fait le travail, mais j'obtiens deux entrées de la pompe 1 car elle a deux entrées avec la même valeur.
GROUP BY
. Au sens strict,GROUP BY
chaque colonne de votreSELECT
doit apparaître dans votreGROUP BY
ou être utilisée dans une fonction d'agrégation.Notez que ce serait beaucoup plus facile si vous aviez une clé primaire. Voici un exemple
la source
la source
id DESC
lePARTITION
et enveloppé cette requête dans unLEFT OUTER JOIN as grades ON grades.enrollment_id = enrollment.id
et fonctionne parfaitement.Essayez comme ça, ça marche.
la source
la source
cela vous donnera l'idée.
la source