我正在尝试找到在表格中汇总数据的最佳方法
我有一个带有字段的表格信息
id
region_number integer (NOT associated with another table)
member_name string
member_active T/F
会员属于某个地区,有姓名,有效或无效。
我想知道是否有一个查询会创建一个包含3列的表,以及与唯一的region_numbers一样多的行:
For each unique region_number:
region_number
COUNT of members in that region
COUNT of members in that region with active=TRUE
假设我有50个区域,我看到如何使用2x50查询,但这肯定不是正确的方法!
答案 0 :(得分:1)
如果您准备进行一些后处理,您可以随时分组:
SELECT region_number, COUNT(*) AS instances, member_active
GROUP BY region_number, member_active
WHERE region_number IN ?
这允许您同时对所有区域编号进行一次查询。 T
值会有一行,F
会有一行,但只有在存在时才会显示。
如果您看到一个案例,您正在进行大量仅在标识符上有所不同的查询,那么您通常可以像这样一次执行。