Один запрос, чтобы получить всего # записей за каждый день месяца - PullRequest
1 голос
/ 14 марта 2012

Сценарий:

У меня есть таблица регистраций и есть столбец datetime.

Я хочу отобразить гистограмму на веб-странице, показывающую количество регистраций в день за текущий месяц.

Как я могу сделать это одним запросом? т.е. вернуть набор результатов с полем для каждого дня (текущего месяца) с общим количеством регистраций в этот день

Ответы [ 2 ]

5 голосов
/ 14 марта 2012
select day(Date), count(*)
from table
where month(Date) = month(NOW()) and year(Date) = year(NOW())
group by day(Date)

Предложение «Где» выбирает текущий месяц.Вы можете использовать count(whatever) или count(distinct whatever) вместо count(*) ...

0 голосов
/ 14 марта 2012

Примерно так: псевдокод:

SELECT Day, COUNT(*)
FROM XXX_Users
GROUP BY "date extracted from datetime" as Day

Чтобы извлечь дату из даты и времени, вы можете использовать функцию DATE:

SELECT Day, COUNT(*)
FROM XXX_Users
GROUP BY DATE(created) as Day

Или вы можете создать хранимую процедуру, чтобы заключить всю логику в

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...