ID int(11) (NULL) NO PRI (NULL)
CREATED_DATE datetime (NULL) YES (NULL)
<小时/>
如上所述是我的表“用户”的一些字段。我想要按日期分组的总用户数和累积计数。我在 mysql 中使用了以下查询。
SELECT q1.CREATED_DATE,q1.NO_OF_USER, (@runtot := @runtot + q1.NO_OF_USER) AS CUMM_REGISTRATION FROM (SELECT date(CREATED_DATE) AS CREATED_DATE,
COUNT(ID) AS NO_OF_USER FROM USER,(SELECT @runtot:=0) AS n GROUP BY CREATED_DATE ORDER BY CREATED_DATE) AS q1
工作正常。现在我想要一个额外的数据,即“自 8 月 1 日以来的累计用户计数”。是否可以获取此修改上述查询或更好地在代码中处理?请提出建议。
最佳答案
您可以通过添加另一个变量并在代码中执行此操作来完成此操作:
SELECT q1.CREATED_DATE, q1.NO_OF_USER,
(@runtot := @runtot + q1.NO_OF_USER) AS CUMM_REGISTRATION,
@Aug1tot := if(CREATED_DATE >=date('2013-08-01'), @Aug1tot + q1.NO_OF_USER, NULL) as CUMM_SINCE_Aug1
FROM (SELECT date(CREATED_DATE) AS CREATED_DATE,
COUNT(ID) AS NO_OF_USER
FROM USER cross join
(SELECT @runtot:=0, @Aug1tot := 0) n
GROUP BY date(CREATED_DATE)
ORDER BY date(CREATED_DATE);
) AS q1
关于mysql - 如何在mysql中获取自月份开始以来的累计计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210575/