我的表有重复的ID,所以我想从表中返回一行具有重复ID的行。需要帮助,提前致谢。
示例:
ID | NAME |CODE
-----------------
101 | XXX | A
101 | XXX | B
101 | XXX | C
102 | XXX | A
102 | XXX | B
103 | XXX | A
103 | XXX | C
104 | XXX | C
104 | XXX | C
104 | XXX | A
104 | XXX | B
我需要从表格中只返回一个ID,因此预期的输出将是..
ID | NAME |CODE
-----------------
101 | XXX | A
102 | XXX | B
103 | XXX | B
104 | XXX | A
例如,我这里只有四列,但在我的数据库中,我的表有30到40行。
假设您的id是not null
和unique
,您可以使用以下sql来获取所需的行:
select * -- to get the complete row
from myTable
where id in
(
select id
from myTable
group by id
having count(1)>1);
select ID, count(ID) from My_Table
Group by ID
having count(ID)>1
此查询允许您选择在表My_Table中出现多次的所有ID
这将给出id
s的列表以及具有id
的所有具有倍数的id
的行数。
SELECT id, COUNT(id)
FROM users
GROUP BY id
HAVING COUNT(id) > 1
这将给出id
s的列表以及具有id
的所有具有倍数的id
的行数。
SELECT id, COUNT(id)
FROM users
GROUP BY id
HAVING COUNT(id) > 1