SELECT SQL Server 2014 中的一列上的 DISTINCT

SELECT DISTINCT on one column in SQL Server 2014

SQL Sever 2014中,我有这样一个table:

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

我使用了 DistinctTopOrder by,但它不起作用。我怎样才能得到这个结果?

您可以将 maxgroup by

一起使用
select max(tag_id)tag_id,prd_id,prod_nm 
from mytable 
group by prd_id,prod_nm

您需要 max() 聚合函数,但您必须执行 group by 以按其他列对结果集进行分组:

SELECT max(tag_id) AS tag_id, prd_id, prod_nm 
FROM table 
GROUP BY prd_id, prod_nm