我有一个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。
答案 0 :(得分:2)
您可以使用相关查询:
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 ....