Подсчет посетителей по месяцам

У меня есть вопрос, поэтому я хочу построить диаграмму, состоящую из количества посетителей по дате;
У меня в базе данных

id          created_at
1           2014-11-09
2           2014-11-10
3           2014-11-08
4           2014-10-01
5           2014-10-05

Итак, я хочу получить

3 november
2 octomber

Я хочу построить в Laravel, мой код:

$aVisitors = $oVisitor::select([
DB::raw('DATE(created_at) AS date'),
DB::raw('COUNT(id) AS count'),
])
->groupBy('date')
->orderBy('date', 'ASC')
->get();

Пожалуйста, помогите мне. Спасибо заранее

0

Решение

Вы можете использовать здесь:

$aVisitors = $oVisitor::select([
DB::raw("DATE_FORMAT(created_at, '%Y-%m') AS `date`"),
DB::raw('COUNT(id) AS count'),
])
->groupBy('date')
->orderBy('date', 'ASC')
->get();

Это даст вам что-то вроде этого:

2014-07 1
2014-08 1
2014-09 1
2014-10 5
0

Другие решения

использовать следующий

GROUP BY DATE_FORMAT(created_at, '%Y-%d')

или это

GROUP BY YEAR(created_at), MONTH(created_at)

в вашем коде Laravel это должно быть что-то вроде этого

->groupBy('YEAR(created_at), MONTH(created_at)')

также вы можете получить название месяца непосредственно из MySQL

DB::raw("DATE_FORMAT(created_at, '%M') as monthName")
0

По вопросам рекламы [email protected]