Mysql 在单独的列上分组并计算尝试次数

Mysql group by and count attempts on seperate column

我有一个 mySQL 查询,它按测验尝试 ID 对结果进行分组:

SELECT * 
FROM quiz_log  
WHERE archived = 0 
GROUP BY quiz_attempt_id 
ORDER BY quiz_attempt_id ASC

我的问题是我现在如何计算 app_user_id 中的尝试次数。 app_user_id = 150 出现了三次,所以我需要另一列,第一行是数字 1,第三行是 2,第 19 行是 3。

您可以使用相关查询:

SELECT t.*,
       (SELECT count(distinct s.quiz_attempt_id) FROM quiz_log s
        WHERE s.app_user_id = t.app_user_id
         AND s.timestamp <= t.timestamp) as Your_Cnt
FROM quiz_log t
WHERE ....