我当前的查询未返回正确的值。我的数据库充满了日志,每个日志都包含一个代码。我正在寻找4个代码,比如说(100,200,300,400)。
我需要知道某个session_id只激活了1个代码,2个代码,3个代码和所有4个代码的次数。
查询将运行4次,每次都带有不同的参数(1,2,3,4)。
因此,当我运行查询为4时,如果每个代码都有相同的session_id,则该日志将为+1。
答案 0 :(得分:2)
这是一种可以一次性获得所有四项计数的方法:
SELECT codecount, COUNT(*) AS sessioncount
FROM (
SELECT session_id, COUNT(DISTINCT code) AS codecount
FROM log
WHERE code IN (100, 200, 300, 400)
GROUP BY session_id
) AS c
GROUP BY codecount;