I mit 2 Spalten eine Tabelle (id, name) mit folgenden Werten:TSQL: Eine Reihe erhalten, die einen maximalen Wert für eine Spalte hat
id name
--- ---
1 John
2 John
3 Mary
4 Mary
Für Werte, die in ‚Namen‘ wiederholt werden, I nur diejenigen Zeilen auswählen wollen, die in 'id' den maximalen Wert haben. Also meine gewünschte Ausgabe ist:
id name
--- ---
2 John
4 Mary
Ich habe versucht, folgende Anweisungen von diesem Link: Fetch the row which has the Max value for a column aber konnte es nicht zu arbeiten.
Dies ist die Abfrage Ich verwende:
select
name, id
from
(select
name, max(id) over (partition by name) max_ID
from sometable)
where
id = max_ID
Aber ich bin immer diese Fehlermeldung:
Incorrect syntax near the keyword 'where'.
Irgendwelche Ideen, was ich falsch mache?
erwähnenswert, dass die Alias-Syntax sein kann „... von sometable) MyTable“ oder mit einem ‚AS‘ wie so“den Namen mit mehr als einer Zeile auswählen können. ..von etwas) AS MyTable " – Shoeless