SQL查询,用于在多个列中重复一个值的行

SQL查询,用于在多个列中重复一个值的行,sql,oracle11g,duplicates,Sql,Oracle11g,Duplicates,我的桌子像: 我想多获取一次key=1的所有设备ID。像设备ID=3一样,有两行key=1,与4相同。获得该结果的查询是什么 我试了很多,但找不到任何解决办法。使用group by和having子句似乎是不可能的。您应该能够使用group by和having来获取具有多行的设备ID: select deviceid from yourtable where key = 1 group by deviceid having count(key) > 1 请参见以下内容: SELECT D

我的桌子像:

我想多获取一次key=1的所有设备ID。像设备ID=3一样,有两行key=1,与4相同。获得该结果的查询是什么


我试了很多,但找不到任何解决办法。使用
group by
having
子句似乎是不可能的。

您应该能够使用
group by
having
来获取具有多行的
设备ID

select deviceid
from yourtable
where key = 1
group by deviceid
having count(key) > 1

请参见以下内容:

SELECT DeviceID
FROM YourTable 
WHERE key = 1
GROUP BY DeviceID
HAVING COUNT(*) > 1
使用此选项:

SELECT DevID
FROM Devices
WHERE KeyID = 1
GROUP BY DevID
HAVING COUNT(*) > 1;