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
Mein Tisch sieht ungefähr so aus. Ich würde gerne wissen, wie man den Maximalwert für jede Pumpe auswählt.
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
Dieser Code erledigt den Job, aber ich bekomme zwei Einträge von Pump 1, da er zwei Einträge mit demselben Wert hat.
GROUP BY
. Streng genommen mussGROUP BY
jede Spalte in IhremSELECT
entweder in Ihrem erscheinenGROUP BY
oder in einer Aggregatfunktion verwendet werden.Beachten Sie, dass dies viel einfacher wäre, wenn Sie einen Primärschlüssel hätten. Hier ist ein Beispiel
quelle
quelle
id DESC
aufPARTITION
und wickelte diese Abfrage in einLEFT OUTER JOIN as grades ON grades.enrollment_id = enrollment.id
und funktioniert einwandfrei.Versuchen Sie es so, es funktioniert.
quelle
quelle
Dies wird Ihnen die Idee geben.
quelle