如何使用SQL语法过滤掉列中的重复值?
感谢。
答案 0 :(得分:47)
一个常见问题,虽然过滤掉表明您想忽略重复的问题?如果是,请列出唯一值:
SELECT col
FROM table
GROUP BY col
HAVING (COUNT(col) =1 )
如果您只想过滤,那么留下重复项
SELECT col, COUNT(col) AS dup_count
FROM table
GROUP BY col
HAVING (COUNT(col) > 1)
2009年以www.mximize.com/how-to-find-duplicate-values-in-a-table-为基础;网站内容现已消失(2014年)。
答案 1 :(得分:2)
根据您的意思“过滤”,您可以使用DISTINCT,也可以使用GROUP BY来删除或分组重复的条目。
查看链接以获取更多信息。
上面DISTINCT链接的片段:
SELECT DISTINCT od.productid
FROM [order details] OD
SELECT od.productid
FROM [order details] OD
GROUP BY od.productid
这两者通常会产生相同的输出。
答案 2 :(得分:2)
使用 DISTINCT 或GROUP BY **子句。
Select DISTINCT City from TableName
OR
Select City from TableName GROUP BY City
答案 3 :(得分:0)
distinct 将是过滤重复项的关键字。 你可以解释一下你想要达到的目标吗?
答案 4 :(得分:0)
您询问以获取重复项列表。这是使用except运算符的简单方法(SQL 2008 +)。
select [column] from Table1
except
select distinct [column] from Table1;
或者,您可以使用标准SQL
select [column] from Table1
where [column} not in
(select distinct [column} from Table1);