mysql选择多个组多个位置

时间:2012-05-14 23:45:49

标签: mysql

我有一个表存储活动 a想要根据日期(unixtime)生成概览选择总和(总计)

从列表中选择SUM(总计),其中日期介于123456789和2000000之间 这样的事情..

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

有一个可列表的结果,如

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

依旧......

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

联盟声明不解决你的情况? http://dev.mysql.com/doc/refman/4.1/pt/union.html