Я пытаюсь получить данные из базы данных с подсчетом общего числа, начиная с сегодняшнего дня, и автоматически сократить 1 дней и рассчитывать на 7 раз. Будет отображаться как
Monday = 5
Tuesday = 2
Wednesday = 6
Thursday = 4
Friday = 7
Saturday = 1
Sunday = 5
Проблемы, когда я использую запрос ниже
SELECT count(*), ad_date
FROM advertise
WHERE ad_date >=ad_date(day,datediff(day,0,GetDate())- 7,0)
Это показывает ошибку:
Неправильный счетчик параметров в вызове нативной функции ‘datediff’
Так в чем же проблемы для этого или любого другого альтернативного запроса для моих проблем?
Формат моей таблицы дат использует метку времени.
2016-03-23 14:27:28
2016-03-25 18:27:28
2016-03-26 18:27:28`
datediff имеет только два параметра
DATEDIFF (date1, дата2)
Заменить:
дата (день, 0, GetDate ()) — 7,0)
С:
ДАТА (DATE_SUB (СЕЙЧАС (), ИНТЕРВАЛ 7 ДНЯ), GetDate ())
Обновленный ответ (попробуйте это):
SELECT COUNT(1)
FROM table_name
WHERE created_date > (NOW() - INTERVAL 7 DAY)
Group by created_date
Других решений пока нет …