我正在努力寻找最好的方法来总结表中的数据
我有一个包含字段
的表Infoid
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查询,但这肯定不是正确的方法!
如果你准备做一点后期处理,你总是可以把几件事分组:
SELECT region_number, COUNT(*) AS instances, member_active
GROUP BY region_number, member_active
WHERE region_number IN ?
这允许您同时对所有地区编号进行一次查询。将有一行用于T
值,一行用于F
值,但仅当它们存在时。
如果你看到你在做很多查询,只有在标识符不同的情况下,你通常可以像这样一次执行。