0

我当前的查询没有返回正确的值。我的数据库充满了日志,每个日志都包含一个代码。我正在寻找 4 个代码,比如(100、200、300、400)。

我需要知道某个 session_id 仅激活 1 个代码、2 个代码、3 个代码和所有 4 个代码的次数。

查询将运行 4 次不同的时间,每次采用不同的参数 (1,2,3,4)。

因此,如果有一个日志,其中每个代码具有相同的 session_id,当我运行 4 的查询时,这将是 +1。

4

1 回答 1

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;
于 2013-10-03T00:43:31.287 回答