0

我有一个表格存储活动,希望根据日期(unixtime)生成概览选择总和(总计)

喜欢从列表中选择 SUM(total),其中日期在 123456789 和 2000000 之间,类似这样..

但我想通过一个查询获得更多的日期范围

有一个可列出的结果,比如

  • 2天前的总和
  • 昨天的总和
  • 今天的总和(总计)

等等 ...

4

2 回答 2

1

你不需要一个UNION. 像这样的东西应该工作:

select SUM(total) as Total,
    SUM(
        case when date >= DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 2 DAY) 
            and date < DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 1 DAY) then total end
    ) TwoDaysAgoTotal,
    SUM(
        case when date >= DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 1 DAY) 
            and date < CONCAT(CURDATE(), ' 00:00:00') then total end
    ) as OneDayAgoTotal,
    SUM(
        case when date >= CONCAT(CURDATE(), ' 00:00:00') then total end
    ) as TodayTotal
from list
where date between 123456789 and 2000000
于 2012-05-14T23:56:13.797 回答
0

工会声明不能解决你的问题?http://dev.mysql.com/doc/refman/4.1/pt/union.html

于 2012-05-14T23:48:50.590 回答