我需要一个 Postgresql 查询,它返回每种类型的记录组合的计数。
例如,我有一个表 T,其中包含 A、B、C、D、E 列和其他不重要的列:
药片 -------------- 一个 | 乙| C | D | 乙
查询应返回一个表 R,其中包含 A、B、C、D 列的值,以及每个配置在指定 E 值下发生的次数。
表 R --------------- 一个 | 乙| C | D | 数数
当每条记录的所有计数加在一起时,它应该等于原始表中的记录总数。
这似乎是一个非常简单的问题,但由于我缺乏 SQL 知识,我无法弄清楚如何做到这一点。
我能想到的唯一解决方案是:
select a, b, c, d, count(*)
from T
where e = 'abc'
group by a, b, c, d
但是当从这个查询中添加计数时,它比原始表的计数要多。似乎不应该使用 count(*) ,或者我只是完全以错误的方式去做。我真的很感激任何关于我应该如何去做的建议。谢谢你们。