【发布时间】:2013-06-25 16:59:09
【问题描述】:
我正在努力寻找合适的语句来选择不重复的条目,仅针对特定列。例如,在下表中,我只关心在 col1、col2 和 col3 中具有唯一值的行,而 col4 和 col5 中的值无关紧要。这意味着我会认为第 1 行和第 2 行是重复的,第 4 行和第 5 行是重复的:
col1 col2 col3 col4 col5
A 2 p 0 2
A 2 p 1 8
A 3 r 4 12
B 0 f 3 1
B 0 f 6 5
我只想选择以下内容:
col1 col2 col3 col4 col5
A 2 p 0 2
A 3 r 4 12
B 0 f 3 1
有没有办法组合多个 DISTINCT 语句来实现这一点,或者在比较重复行时指定要忽略的某些列?
【问题讨论】:
-
您需要一些逻辑来选择第 4 列和第 5 列中返回的内容。如果您真的根本不需要它们,则从 SELECT DISTINCT 字段列表中省略它们即可完成工作
-
我需要在输出中保留第 4 列和第 5 列,所以很遗憾不能从 DISTINCT 字段中省略它们。
标签: sql sql-server tsql duplicates