我目前在循环此查询时遇到问题...
SELECT ROUND(UNIX_TIMESTAMP(tdate) DIV 60) AS time, tid, date, tuser, SUM(tvalue)
FROM transaction
WHERE tmerchant = '$fbid'
GROUP BY tuser, EXTRACT(DAY_HOUR FROM tdate)
ORDER BY tid DESC
LIMIT 40
问题在于这个MySQL表:
10.20 AM - JOHN 10
10.15 AM - GEORGE 10
10.10 AM - GEORGE 10
10.00 AM - JOHN 10
它将列出:
10.10 AM - GEORGE 20
10.00 AM - JOHN 20
它应该是另一种方式,最后一行计数:
10.20 AM - JOHN 20
10.15 AM - GEORGE 20
我之所以这样做,是因为它按行整小时对行进行分组,并根据时间戳将其合并到第一行而不是最后一行。如果我将DAY_HOUR改为DAY MINUTE,理论上会解决问题,但我想要有更长的时间。
有没有人知道一个简单的解决方案如何按行分组行?
谢谢!