我有这样的表:
我想获得所有具有 key=1 的 DeviceID 超过 1 次。像设备 ID=3 有两行 key=1,与 4 相同。得到该结果的查询是什么?
我尝试了很多,但找不到任何解决方案。group by
使用andhaving
子句似乎是不可能的。
我有这样的表:
我想获得所有具有 key=1 的 DeviceID 超过 1 次。像设备 ID=3 有两行 key=1,与 4 相同。得到该结果的查询是什么?
我尝试了很多,但找不到任何解决方案。group by
使用andhaving
子句似乎是不可能的。
您应该能够使用GROUP BY
并HAVING
获得DeviceIds
不止一行:
select deviceid
from yourtable
where key = 1
group by deviceid
having count(key) > 1
使用这个:
SQL Fiddle
SELECT DevID
FROM Devices
WHERE KeyID = 1
GROUP BY DevID
HAVING COUNT(*) > 1;
尝试这样的事情:
SELECT DeviceID
FROM YourTable
WHERE key = 1
GROUP BY DeviceID
HAVING COUNT(*) > 1