Как разумно составить следующий запрос mysql?

Всем привет. Подскажите, пожалуйста, как реализовать следующее:
Допустим, есть таблица table с записями:
id | title | date | action |
1 | Вася | 2015-01-01 | 1 |
2 | Игорь| 2015-01-02| 1 |
3 | Вася | 2015-01-02 | 1 |
4 | Елена| 2015-01-02| 1 |
5 | Елена| 2015-01-02| 1 |
6 | Чук| 2015-01-03| 1 |
7 | Елена| 2015-01-03| 1 |
8 | Вася| 2015-02-01| 1 |
9 | Вася| 2015-02-07| 1 |
10 | Елена| 2015-02-08| 1 |

Как составить запрос, чтобы составить рейтинг людей по количеству записей в БД за первую неделю января?
т.е. чтобы на выходе было такое:
Елена 3
Вася 2
Игорь 1
Чук 1
т.е.
title + сколько title в таблице
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
valerium
@valerium
Изобретая велосипед
SELECT title, count(*) score FROM table
WHERE
    date >= '2015-01-01' AND
    date <= '2015-01-07'
GROUP BY title;

Если под первой неделей подразумеваются не первые семь дней, а календарная неделя, то будет чуть сложнее, нужно вычислить правильные дни.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@KIN1991
Python, PHP developer
GROUP BY по title, но это не очень хорошая практика делать групировку по текстовым полям
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы