表:
locations
---------
contract_id INT
order_position INT # I want to find any bad data in this column
我想在给定的order_position
中找到任何重复的contract_id
。
因此,例如,如果两个locations
行的contract_id
“24845”并且两者都有order_position
“3 ”
我正在使用MySQL 5.1。
答案 0 :(得分:3)
select contract_id, order_position
from locations
group by contract_id, order_position
having count(*) > 1
答案 1 :(得分:1)
SELECT contract_id, order_position, count(*)
FROM locations
GROUP BY contract_id, order_position
HAVING count(*) > 1
答案 2 :(得分:1)
HAVING子句可以显示存在重复项的实例:
SELECT *
FROM locations
GROUP BY contract_id, order_position
HAVING COUNT(*) > 1
答案 3 :(得分:1)
SELECT contract_id, order_position, COUNT(order_position) AS cnt
FROM locations
GROUP BY contract_id, order_position
HAVING cnt > 1;
Why COUNT(column)
is usually better than COUNT(*)
(好吧,这只是为了区分我的答案:D)