在MySQL中应用分组依据和限制偏移量

时间:2016-10-08 07:24:25

标签: mysql

我有一个表名transactions,其中数据行以日期

存储

喜欢

`trans_id` `amount` `tdate`

我想过滤那些数据,比如过去30天,过去31天60天,过去61-90天计算总量还

我的疑问是

最近30天

SELECT SUM(amount) AS amt FROM transactions GROUP BY DATE(tdate) ORDER BY DATE(tdate) DESC LIMIT 30

工作正常并显示金额的SUM(最后30天)

但过去31-60天没有工作

 SELECT SUM(amount) AS amt FROM transactions GROUP BY DATE(tdate) ORDER BY DATE(tdate) DESC LIMIT 60,31

如何解决?我确实只想包括31到60天的金额

1 个答案:

答案 0 :(得分:0)

使用以下内容:(它在今天和过去30天之间返回数据)

SELECT  DATE_FORMAT(DateCol, '%m/%d/%Y')
FROM Table
WHERE DateCol BETWEEN CURDATE() - INTERVAL
30 DAY AND CURDATE()

或者更确切地说,这将解决问题:

DateCol BETWEEN (NOW() - INTERVAL 60 DAY) 
AND (NOW() - INTERVAL 30 DAY)

CURDATE()仅适用于日期部分。如果你有DateTime列,那么NOW()就可以了。