0

我有这样的表:

在此处输入图像描述

我想获得所有具有 key=1 的 DeviceID 超过 1 次。像设备 ID=3 有两行 key=1,与 4 相同。得到该结果的查询是什么?

我尝试了很多,但找不到任何解决方案。group by使用andhaving子句似乎是不可能的。

4

3 回答 3

1

您应该能够使用GROUP BYHAVING获得DeviceIds不止一行:

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

请参阅带有演示的 SQL Fiddle

于 2013-08-15T11:17:03.330 回答
0

使用这个:
SQL Fiddle

SELECT DevID
FROM Devices
WHERE KeyID = 1
GROUP BY DevID
HAVING COUNT(*) > 1;
于 2013-08-15T11:22:59.837 回答
0

尝试这样的事情:

SELECT DeviceID
FROM YourTable 
WHERE key = 1
GROUP BY DeviceID
HAVING COUNT(*) > 1
于 2013-08-15T11:19:44.427 回答