【发布时间】:2012-03-15 03:49:57
【问题描述】:
我正在执行几个选择并希望计算重叠。示例:
SELECT id FROM foo WHERE ...
SELECT id FROM bar WHERE ...
SELECT id FROM baz WHERE ...
分别调用这些查询 a、b 和 c。假设 a 给出 (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
如何在 MySQL5 中在一个查询中执行此操作? (a、b 和 c 部分可能是普通选择或存储过程)。
【问题讨论】:
-
您是否有固定数量的表格和条目,或者它们可能会有所不同?您可以用 0 替换每个缺失的 ID,然后对第一个、第二个、第三个元素等求和...虽然这不是一个优雅的解决方案
-
我喜欢多重性...