Я хочу рассчитывать с помощью select, count и group by. он работает с MariaDB, но не работает с MySQL.
Я не знаю, работает ли эта версия mariadb или mysql, но этот код работает в localhost, но не работает в моем vps.
здесь мой код
SELECT date, COUNT(id_master_post) FROM master_post GROUP BY DAY(date) ASC;
ошибка я получаю.
SELECT date, COUNT (id_master_post) FROM master_post GROUP BY DAY (дата) ASC LIMIT 0, 25 MySQL заявляет: Документация
# 1055 - Выражение # 1 списка SELECT не находится в предложении GROUP BY и содержит неагрегированный столбец 'piratefiles.master_post.date', который не зависит от функциональности в столбцах в предложении GROUP BY; это несовместимо с sql_mode = only_full_group_by
Это обычная ошибка в MySQL, которая имеет разные режимы и, следовательно, различные правила, которые могут быть или не могут быть применены. В вашем случае вы выбираете столбец, который не отображается в предложении GROUP BY
(а также не находится внутри агрегатной функции). Чтобы исправить это, сделайте столбец выбранным и агрегированным таким же, то есть используйте это:
SELECT DAY(date), COUNT(id_master_post)
FROM master_post
GROUP BY DAY(date);
Но это будет группировать все даты вместе на основе числового дня. Возможно, это не то, что вы хотите, и в целом я бы рекомендовал группировать дату самой:
SELECT date, COUNT(id_master_post)
FROM master_post
GROUP BY date;
datetime
. если я использую только дату, он будет считать все это, например, если я отправляю 20 сообщений в день, он будет записывать 20 данных, но если использовать день (дату), он будет записывать только 1 данные