需要从具有重复ID的表中随机返回每个ID的行

问题描述 投票:-1回答:4

我的表有重复的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行。

sql oracle row
4个回答
0
投票

假设您的id是not nullunique,您可以使用以下sql来获取所需的行:

select * -- to get the complete row
  from myTable
 where id in
            (
             select id
               from myTable
              group by id
             having count(1)>1);

0
投票
select ID, count(ID) from My_Table
Group by ID 
having count(ID)>1

此查询允许您选择在表My_Table中出现多次的所有ID


0
投票

这将给出ids的列表以及具有id的所有具有倍数的id的行数。

SELECT id, COUNT(id) 
FROM users
GROUP BY id
HAVING COUNT(id) > 1

0
投票

这将给出ids的列表以及具有id的所有具有倍数的id的行数。

SELECT id, COUNT(id) 
FROM users
GROUP BY id
HAVING COUNT(id) > 1
© www.soinside.com 2019 - 2024. All rights reserved.