【发布时间】:2013-01-08 16:20:36
【问题描述】:
我想计算两组不同元素的数量。正是这就是集合 1 和集合 2 的并集。
如何将以下伪 SQL 格式化为正常运行的 SQL
select COUNT(set1 union set2) from table1`
EDIT set1 和 set2 是 table1 的列
这是一个简短的例子:
在一个班级中设置 1 个学生:
Bubba, Jody, Rex, Sandy, Jules
在一个班级中设置 2 名学生:
Jody, Rob, Horace, Thor, Rex
我想要两个班级的学生人数不同:
Bubba, Jody, Rex, Sandy Jules, Rob, Horace, Thor
所以,工会就可以了,我可以数数。
【问题讨论】:
-
你能具体说明一下这些集合是什么吗?伪查询没有多大意义。这可能可以通过联合来完成。
-
哈哈是的,它应该像一个工会。由于集合没有重复的元素......我想它更像是附加?或者,如果我确实有联合操作,我可以只计算元素
-
您不需要将 distinct 与 intersect 一起使用,因为 intersect 总是返回不同的值。使用“Union”表示常见,“Except”表示左查询不同。
-
如果 set1 和 set2 是列,它们是什么数据类型?列中有什么样的值,如果它在集合中,则为 1,如果不在,则为 NULL,或者其他什么?您需要计算每个集合中的记录,还是需要 set1 和 set2 列中的不同值?
-
请提供输入示例和预期结果以澄清问题。
标签: sql count distinct set overlapping