如何编写SQL查询以识别特定字段中的重复值?

jbo*_*pez 6 sql t-sql sql-server sql-server-2008

这是我正在使用的表格:

桌子

我想仅识别具有不同参数的重复扣减ID的ReviewID.

例如,在上图中,ReviewID 114具有两个不同的参数ID,但两个记录具有相同的扣除ID.

就我的目的而言,此记录(ReviewID 114)有错误.对于单个ReviewID,不应存在两个或多个具有相同扣减ID的唯一参数ID.

我想写一个查询来识别这些类型的记录,但我的SQL技能还没有.救命?

谢谢!

更新1:我正在使用TSQL(SQL Server 2008),如果这有助于
更新2:我正在寻找的输出将与上面的图像相同,减去任何与我所描述的标准不匹配的记录.

干杯!

Dea*_*nOC 6

Select ReviewID, deduction_ID from Table
Group By ReviewID, deduction_ID
Having count(ReviewID) > 1
Run Code Online (Sandbox Code Playgroud)

http://www.sqlfiddle.com/#!3/6e113/3有一个例子


Ell*_*dil 6

SELECT * FROM table t1 INNER JOIN (
    SELECT review_id, deduction_id FROM table
    GROUP BY review_id, deduction_id
    HAVING COUNT(parameter_id) > 1
) t2 ON t1.review_id = t2.review_id AND t1.deduction_id = t2.deduction_id;
Run Code Online (Sandbox Code Playgroud)

http://www.sqlfiddle.com/#!3/d858f/3

如果可以有完全重复并​​且没问题,则可以将HAVING子句修改为COUNT(DISTINCT parameter_id).