我有一个包含卡号和姓名的表格。其中有些人有多张卡片,也就是说他们的名字在表格中出现了多次。如何选择所有名字出现次数超过一次的行?
我有一个包含卡号和姓名的表格。其中有些人有多张卡片,也就是说他们的名字在表格中出现了多次。如何选择所有名字出现次数超过一次的行?
Select * from CardTable where cardid in ( select cardid from CardTable group by cardid having count(cardid) > 1)
使用:
SELECT t.name
FROM TABLE t
GROUP BY t.name
HAVING COUNT(*) > 1
以下代码应该可以正常工作:
SELECT *
FROM cards c1
INNER JOIN cards c2 on c1.name = c2.name
WHERE c2.id <> c1.id
select count(*) as n, [name]
from table1
group by [name]
having n > 1
SELECT t1.* FROM(
SELECT t.name
FROM YourTable t
GROUP BY t.name
HAVING COUNT(*) > 1) t2
JOIN YourTable t1 on t2.name = t1.name