Предположим, у нас есть таблица с именем 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) Более того, я хочу быть в порядкев связи с самой большой суммой f * 2, r * 0.5, t * 4 DESC:
c) более того, я хочу подсчитать количество событий только в конкретный период, например, за последнюю неделю, месяц, последний6 месяцев.Можете ли вы вставить ниже SQL-запрос для ответа?Есть ли другие типы интервалов, например, месяцы, годы или часы?
SELECT *
FROM table1
WHERE date BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 WEEK) AND CURDATE()
заранее спасибо