sql - 具有多个值的重复检查

标签 sql sql-server

我正在对我的数据库进行一些手动重复检查,并且有一个复杂的情况。

我需要根据 A 列中的值检查重复行,我已经这样做了。但是,在这种特定情况下,可能有多个记录的 A 列值相同,但 E 列值不同。

这是我原来的查询:

SELECT ColumnA, COUNT(*) TotalCount
FROM TableA
INNER JOIN TableA_1 on fID = hID
WHERE dateCreated > '2013-05-08 00:00:00'
GROUP BY ColumnA
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC

我现在需要过滤掉 ColumnA 的重复项,其中 ColumnE 不同或唯一。我已将伪代码添加到原始查询中

SELECT ColumnA, COUNT(*) TotalCount
FROM TableA
INNER JOIN TableA_1 on fID = hID
WHERE dateCreated > '2013-05-08 00:00:00'
AND ColumnE is not unique
GROUP BY ColumnA
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC

我希望这是有道理的。

最佳答案

您需要在 ColumnA 列上使用 GROUP BY 子句,在 DISTINCT ColumnE 上使用 HAVING 子句

SELECT ColumnA, COUNT(*) TotalCount
FROM TableA INNER JOIN TableA_1 on fID = hID
WHERE dateCreated > '2013-05-08 00:00:00'
GROUP BY ColumnA
HAVING COUNT(DISTINCT ColumnE) > 1
ORDER BY COUNT(*) DESC

关于sql - 具有多个值的重复检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16469511/

相关文章:

sql - GROUPed 查询的简单 SQL 操作

mysql - 为什么我的查询对于选择小于、大于与索引的组合很慢?

SQL - 外键引用不同表的主键 (Postgres)

sql - 使用 'yyyymmdd' 格式将 Varchar 转换为 Datetime

c# - 我如何限制和减慢我的本地 SQL Express 以进行测试?

sql - 如何找到连续的星期

c# - 如何从 C# 将欧洲格式的日期和时间插入 SQL Server?

Python psycopg2 INSERT 查询中的多列

sql-server - TSQL 时间序列模式数据挖掘

sql-server - 用于计算运行平均值列的 SQL Select 语句