SQL:查询获取任何字段值不止一个的记录

时间:2013-07-23 07:16:57

标签: sql oracle

我需要一个查询,它必须获取其中一个字段值存在多次的所有记录,

表格就像

S_NO    ID
S100    I01
S101    I01      
S102    I02
S103    I00
S104    I02

由于某些ID不止一次存在,因此结果应为

S100  I01
S101  I01
S102  I02
S104  I02

2 个答案:

答案 0 :(得分:5)

尝试以下查询:

SELECT S_NO,ID
FROM your_table
WHERE ID IN (SELECT ID FROM your_table GROUP BY ID HAVING COUNT(*) > 1)

SQLFIDLLE DEMO

答案 1 :(得分:5)

尝试

SELECT *
  FROM Table1
 WHERE id IN
(
  SELECT id 
    FROM Table1
   GROUP BY id
  HAVING COUNT(*) > 1
)

输出:

| S_NO |  ID |
--------------
| S100 | I01 |
| S101 | I01 |
| S102 | I02 |
| S104 | I02 |

这是 SQLFiddle 演示