这是我正在使用的表:
我只想标识对于不同参数具有重复扣除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/