【发布时间】:2011-09-01 18:04:06
【问题描述】:
假设我们有一个名为 table1 的表:
id name event date
1 name1 f 2010-02-26 21:49:46
2 name2 f 2011-01-21 14:30:26
3 name3 f 2010-05-25 20:51:07
4 name2 r 2011-03-21 21:49:46
5 name4 t 2011-09-15 21:30:26
6 name2 t 2010-01-20 13:07:55
7 name2 t 2011-02-24 20:51:09
8 name1 r 2011-05-20 16:07:55
9 name2 r 2009-07-23 07:51:11
10 name2 r 2011-09-20 21:49:46
A) 所以我希望结果在 4 列中:
name f r t
name1 f:1 r:1 t:0
name2 f:1 r:3 t:2
B) 此外,我想对 f2, r0.5, t*4 DESC 的最大总和进行排序:
C)此外,我只想计算特定时期内的事件数量,例如上周、一个月、过去 6 个月。您可以将以下 SQL 查询嵌入到您的答案中吗?是否有更多类型的间隔,例如月年或小时?
SELECT *
FROM table1
WHERE date BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 WEEK) AND CURDATE()
【问题讨论】: