繁体   English   中英

MySQl。 您将如何编写此查询

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM