mysql の集計式で問題が発生しています。エラーは、コンピューターが並べ替え/順序付けの前に集計しているためだと思われます。誰かがカウント値を集計するためのより良い方法を提案したり、コード内のエラーを特定するのを手伝ってくれませんか? 成績表はこちら
date hour count aggregate
August, 11 2012 20 1 170
August, 12 2012 19 1 58
August, 13 2012 14 1 44
August, 13 2012 15 1 75
August, 13 2012 21 1 72
August, 13 2012 23 1 80
テーブルは最初に日付で並べ替えられ、2 つの時間が同じ日にある場合は時間で並べ替えられます。集計関数はカウント関数に基づいており、カウント列は 1 で埋められているため、集計列は1、2、3、4... などを表示する必要があります。これが私のクエリです。
SELECT t1.original, t1.hour, t1.count, SUM(t2.count) as aggregate
FROM
(SELECT date(FROM_UNIXTIME( timecode)) as day,(hour(FROM_UNIXTIME( timecode))) AS hour,(FROM_UNIXTIME( timecode)) AS original, COUNT(count) as 'count'
FROM sampleData
GROUP BY day, hour
order by original
) t1
INNER JOIN
(SELECT date(FROM_UNIXTIME( timecode)) as day, (hour(FROM_UNIXTIME( timecode) )) AS hour,(FROM_UNIXTIME( timecode)) AS original, COUNT(count) as 'count'
FROM sampleData
GROUP BY day, hour
order by original
) t2
on t1.hour >= t2.hour
GROUP BY t1.hour
ORDER BY t1.original