[英]MySQl. How would you write this query
我当前的查询未返回正确的值。 我的数据库中充满了日志,每个日志都包含一个代码。 我正在专门寻找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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.