Php Mysql分组方式和计数在单独列上的尝试次数

Php Mysql分组方式和计数在单独列上的尝试次数,php,mysql,count,group-by,sql-order-by,Php,Mysql,Count,Group By,Sql Order By,我有一个mySQL查询,它根据测验尝试ID对结果进行分组: SELECT * FROM quiz_log WHERE archived = 0 GROUP BY quiz_attempt_id ORDER BY quiz_attempt_id ASC 我的问题是,现在如何计算“按用户id”中的尝试次数。应用用户id=150出现三次,因此我需要另一列,第一行数字为1,第三行数字为2,第19行数字为3。您可以使用相关查询: SELECT t.*, (SELECT count

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

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

我的问题是,现在如何计算“按用户id”中的尝试次数。应用用户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 ....

选择t.*,从测验日志s中选择count*,其中s.app\u user\u id=t.app\u user\u id和s.timestamp因为内部查询没有像外部查询那样过滤,所以子查询中应该有相同的过滤器。不管怎样,现在试试@彼得内勒