spr*_*aff 6 mysql sql union mysql5
我正在执行几个选择并希望计算重叠.例:
SELECT id FROM foo WHERE ...
SELECT id FROM bar WHERE ...
SELECT id FROM baz WHERE ...
Run Code Online (Sandbox Code Playgroud)
分别调用这些查询a,b和c.假设给出(1,2,3,4,5),b给出(1,3,5),c给出(4,5,6).我想结合这些并计算多重性.对于上面的例子,我正在寻找的结果是
id | multiplicity
-----------------
1 | 2
2 | 1
3 | 2
4 | 2
5 | 3
6 | 1
Run Code Online (Sandbox Code Playgroud)
如何在一个查询中在MySQL5中执行此操作?(a,b和c部分可以是普通选择或存储过程).
我目前无法验证这一点,但我相信这会奏效
SELECT id, count(id) AS multiplicity
FROM
(
SELECT id FROM foo WHERE ...
UNION ALL
SELECT id FROM bar WHERE ...
UNION ALL
SELECT id FROM baz WHERE ...
) AS TablesTogether
GROUP BY id
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |