ВЫБЕРИТЕ DISTINCT для одного столбца в SQL Server 2014 - PullRequest
0 голосов
/ 21 ноября 2019

В SQL Sever 2014 у меня есть такая таблица:

tag_id        prd_id        prod_nm
--------------------------------------
1               1           apple
2               1           apple
3               1           apple
4               2           banana
5               2           banana
6               3           tomato
7               3           tomato
8               4           cabbage
9               5           melon

И я хочу получить наивысший tag_id для каждого продукта.

tag_id   prd_id     prod_nm
------------------------------
3       1           apple
5       2           banana
7       3           tomato
8       4           cabbage
9       5           melon

Я использовал Distinct, Top, Order by но это не работает. Как я могу получить этот результат?

Ответы [ 2 ]

2 голосов
/ 21 ноября 2019

Вам нужна агрегатная функция max(), но затем вы должны сделать group by, чтобы сгруппировать набор результатов по другим столбцам:

SELECT max(tag_id) AS tag_id, prd_id, prod_nm 
FROM table 
GROUP BY prd_id, prod_nm
2 голосов
/ 21 ноября 2019

Вы можете использовать max с group by

select max(tag_id)tag_id,prd_id,prod_nm 
from mytable 
group by prd_id,prod_nm
...