Sql 在1列中复制时,获取值最高的行

Sql 在1列中复制时,获取值最高的行,sql,sql-server,Sql,Sql Server,查询结果类似于以下示例: col1 col2 A 0 B 0 B 1 C 0 D 1 现在我不想在col1中重复。但是当col1有重复项时,它应该给出col2=1的行(或最高值),而不给出col2=0的行。因此,结果将是: col1 col2 A 0 B 1 C 0 D 1 这个查询应该是什么样子的 编辑: max可以工作,但有第三列,当col2=1时有一些文本值 我怎样才能在右边找到结果?因此,当col1中存在重复项时,获取col2=1

查询结果类似于以下示例:

col1 col2
A    0
B    0
B    1
C    0
D    1
现在我不想在col1中重复。但是当col1有重复项时,它应该给出col2=1的行(或最高值),而不给出col2=0的行。因此,结果将是:

col1 col2
A    0
B    1
C    0
D    1
这个查询应该是什么样子的

编辑:

max可以工作,但有第三列,当col2=1时有一些文本值 我怎样才能在右边找到结果?因此,当col1中存在重复项时,获取col2=1的行

col1 col2 col3                      col1 col2 col3
   A    0                              A    0   
   B    0                              B    1   XYZ   
   B    1   XYZ            -->         C    0   
   C    0                              D    1   YXA
   D    1   YXA
谢谢

检查MAX()函数:

使用max(col2)和group by COL1查看。可能重复的
SELECT col1,MAX(col2) 
FROM [yourTable] 
GROUP BY col1