Zapytanie - GROUP BY, MAX

0

Cześć, próbuję napisać zapytanie, które zwróci mi niepowtarzające się wartości z kolumny A, największą wartość z kolumny C i wartość z kolumny B z tego samego wiersza. Tabela wygląda tak:
user image
Używam bazy MS SQL.
Próbowałem już DISTINCT, GROUP BY, MAX(c) itp. i nie udało mi się osiągnąć pożądanego efektu, jak zrobiłem GROUP BY to było dobrze, ale tylko dla kolumn A i C, nie udało mi się dodać kolumny B.
Bardzo proszę o pomoc, z góry dziękuję.
Pozdrawiam

0

Wydaje mi sie, ze PARTITION i OVER BY() pomoże.

Tu przyklad uzycia: http://www.midnightdba.com/Jen/2010/10/tip-over-and-partition-by/

0
 
SELECT A, MAX(C) 
FROM TABELA
GROUP BY A

To rozwiązanie było najbliższe, nie mogę jednak dodać kolumny B.

0

select a,b,c from
(select *, dense_rank() over(partition by a order by c desc) rn from t) x
where x.rn = 1

1
SELECT T.*
FROM test T
INNER JOIN
    (SELECT A, MAX(C)  AS Max
    FROM test
    GROUP BY A) grouped 
ON T.A = grouped.A 
AND T.C = grouped.Max
0
SELECT
    A,
	B,
	C
FROM (SELECT
			ROW_NUMBER() OVER (PARTITION BY A ORDER BY C DESC) R
			,*
		from
			TBALEA) DT
WHERE R = 1

1 użytkowników online, w tym zalogowanych: 0, gości: 1