0

mysql に単純な統計クエリがあります。PHPを使用して動作させましたが、データベースに保持したかったので、ここで別の質問を見つけました。そのおかげで、現在mysqlで動作しています。

1 日あたりに送信されたレコードの現在の合計数を取得する必要があります。

現在の合計は機能していますが、何を変更しても、単に日ごとに注文されません。

日順ではなく、累計の列順になります。

どんな入力でも大歓迎です。

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 に答える