1 mysql
我有一个带有computerid,userid和其他几列的MySQL表.现在我想要一个查询,它将返回多个用户共享computerid值的所有记录.查找以下示例数据:
computerid userid 100 5 105 10 110 6 100 7 101 11 100 5 105 10 101 11
对于上面的数据集,mysql查询应返回以下结果,因为在这种情况下,computerid由两个用户id共享.
computerid userid 100 5 100 7
你可以这样做:
SELECT DISTINCT T2.computerid, T2.userid
FROM (
SELECT computerid
FROM table1
GROUP BY computerid
HAVING COUNT(DISTINCT userid) > 1
) T1
JOIN table1 T2
ON T1.computerid = T2.computerid
Run Code Online (Sandbox Code Playgroud)
结果:
computerid userid 100 5 100 7
在(computerid)上添加索引以提高性能.
| 归档时间: |
|
| 查看次数: |
1108 次 |
| 最近记录: |