Como retornar o valor máximo de uma coluna e seus respectivos valores.
Exemplo:
CREATE TABLE #MaxVal(id INT,VALUE INT,OtherCol CHAR(1)); INSERT #MaxVal VALUES(1,1,'A'); INSERT #MaxVal VALUES(1,2,'A'); INSERT #MaxVal VALUES(1,3,'Z'); INSERT #MaxVal VALUES(2,1,'A'); INSERT #MaxVal VALUES(2,2,'X'); INSERT #MaxVal VALUES(2,3,'A'); INSERT #MaxVal VALUES(3,1,'A'); INSERT #MaxVal VALUES(3,2,'Y');
Se você está interessado apenas no ID e o valor máximo da coluna é muito facil.
SELECT id,MAX(VALUE) AS VALUE FROM #MaxVal GROUP BY id;
OUTPUT:
ID|Value
-------------
1|3
2|3
3|2
Se voce precisa de toda a linha, precisaremos fazer um sub-select.
SELECT t.* FROM( SELECT id,MAX(VALUE) AS MaxValue FROM #MaxVal GROUP BY id) x JOIN #MaxVal t ON x.id =t.id AND x.MaxValue =t.VALUE
OUTPUT:
ID|Value|OtherCol
----------------------
3|2|Y
2|3|A
1|3|Z
Anúncios
Deixe um comentário