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 ....
我有一个 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 ....