这是我正在使用的表:

我只想标识对于不同参数具有重复扣除ID的ReviewID。

例如,在上图中,ReviewID 114具有两个不同的参数ID,但是两个记录都具有相同的推论ID。

就我而言,此记录(ReviewID 114)有一个错误。对于单个ReviewID,不应有两个或多个具有相同推论ID的唯一参数ID。

我想编写一个查询来识别这些记录类型,但是我的SQL技能还不存在。帮助?

谢谢!

更新1:如果可以,我正在使用TSQL(SQL Server 2008)
更新2:我要查找的输出将与上面的图像相同,减去与我描述的条件不匹配的所有记录。

干杯!

最佳答案

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;

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

如果可以有完全相同的副本并且没关系,则可以将HAVING子句修改为COUNT(DISTINCT parameter_id)。

关于sql - 如何编写SQL查询以标识特定字段中的重复值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15374902/

10-09 22:58