也许这对您来说是一个更简单的解决方案,并且可以防止数据库不得不执行大量查询。这仅执行一个查询,然后在一次通过中对结果进行一点数学运算。
SET @runtot:=0;SELECt q1.d, q1.c, (@runtot := @runtot + q1.c) AS rtFROM (SELECt DAYOFYEAR(`date`) AS d, COUNT(*) AS c FROM `orders` WHERe `hasPaid` > 0 GROUP BY d ORDER BY d) AS q1
这将为您提供一个额外的RT(运行总计)列。不要错过顶部的SET语句来首先初始化运行的total变量,否则您将只获得一列NULL值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)