我当前的查询未返回正确的值。我的数据库充满了日志,每个日志都包含一个代码。我正在寻找 4 个代码,例如(100、200、300、400)。
我需要知道某个session_id只激活了1个代码、2个代码、3个代码以及全部4个代码有多少次。
查询将运行 4 次不同的时间,每次使用不同的参数 (1,2,3,4)。
因此,如果每个代码的日志都具有相同的 session_id,那么当我运行 4 的查询时,该日志将+1。
最佳答案
这是一种可以一次获得所有四个计数的方法:
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;
关于MySQl。你会如何写这个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148877/