【发布时间】:2016-07-31 15:07:48
【问题描述】:
我想在 MySQL 中根据每个客户的最大时间戳为他们选择过去三天的行,但不知道如何执行此操作。
示例表:
id | timestamp | cust_ID
899900 | 2016-04-09 12:00:00 | 500219
899901 | 2016-04-12 16:00:00 | 500219
899902 | 2016-04-14 11:00:00 | 500219
899903 | 2016-04-15 12:00:00 | 500219
909901 | 2016-04-08 16:00:00 | 500230
909902 | 2016-04-14 11:00:00 | 500230
909903 | 2016-04-15 12:00:00 | 500230
939905 | 2016-05-02 19:00:00 | 500240
到目前为止,我有以下内容:
SELECT *
FROM table
WHERE timestamp BETWEEN max(timestamp) AND (max(timestamp) - INTERVAL 3 DAY)
GROUP BY cust_ID
但它给出了错误:
1111 '无效使用组函数'
【问题讨论】:
-
顺便说一句,在 sql 领域,2 不是“介于”3 和 1 之间。
标签: mysql greatest-n-per-group