0

我在 mysql 中有一个简单的统计查询。我让它使用 php 工作,但热衷于将它保存在数据库中,所以我在这里发现了另一个问题。多亏了它,我现在可以在 mysql 中使用它了。

我需要获得每天提交的记录总数。

我有运行的总工作,但无论我改变什么,它都不会按天订购。

它将按运行总计列排序,而不是按天排序。

任何输入表示赞赏。

SET @runtot:=0;
SELECT
   q1.`Day` AS 'Days of month',
   q1.`Record count` AS 'Record count',
   (@runtot := @runtot +  q1.`Record count`) AS 'rt'
FROM
   (SELECT
    FROM_UNIXTIME(tr.`tr_last_update`, '%e') AS 'Day',
    COUNT(tr.tr_id_pk) AS 'Record Count'
    FROM records_table AS tr
    GROUP BY FROM_UNIXTIME(tr.`tr_last_update`,'%e')
) AS q1
ORDER BY 'Days of month';

Days of month   Record count    rt
10                  13          13
11                  2           15
7                   255         270
8                   173         443
9                   166         609
4

2 回答 2

0

它被视为一个字符串。尝试转换为 int:

SELECT
q1.`Day` AS 'Days of month',
...
ORDER BY CAST(q1.`Day` AS signed integer)
于 2012-06-11T09:43:33.670 回答
0

除非我大错特错,否则您的整个查询是否与以下内容相同:

SELECT   DAYOFMONTH(FROM_UNIXTIME(tr_last_update)) AS `Days of month`,
         COUNT(tr_id_pk)                           AS `Record Count`,
         @runtot := @runtot + COUNT(tr_id_pk)      AS rt
FROM     records_table, (SELECT @runtot:=0) AS z
GROUP BY `Days of month`
ORDER BY `Days of month`
于 2012-06-11T09:51:24.260 回答