Sie können row_number verwenden, um das gewünschte Ergebnis zu erhalten.
DECLARE @table TABLE
(ID int, Account varchar(10),Amount int)
INSERT INTO @table
(ID,Account,Amount)
VALUES
(1,'rx00',100),
(2,'rx00',200),
(3,'rx00',100),
(4,'vxtt',50),
(5,'vxtt',70),
(6,'vxtt',80)
SELECT ID, Account, Amount
FROM (
SELECT ID, Account, Amount,
ROW_NUMBER() OVER (PARTITION BY Account
ORDER BY Amount DESC) AS rnk
FROM @table) AS t
WHERE t.rnk = 1
Dies wird der Ausgang sein:
ID Account Amount
2 rx00 200
6 vxtt 80
Wenn Sie die ID-Spalte in der Ergebnismenge nicht benötigen, können Sie die folgende Abfrage verwenden können.
SELECT Account,max(Amount) AS Amount FROM @table t
GROUP BY Account
Dies wird der Ausgang sein:
Account Amount
rx00 200
vxtt 80
_ "Ich brauche einen max (Betrag) Wert zu erhalten" _ unterscheidet sich Ihre erwartete Ergebnis. –