Тема: Порахувати лише позитивні значення для колонки
Таблиці (без полів які в запитані не використовуються):
Account_
* Id_ int
* FirstName_ VARCHAR
* LastName_ VARCHAR
AdminAccount_
* Id_ int
* KeyToAccount_ int -> Foreign Key To Account_.Id_
Message_
* Id_ int
* Date_ datetime
* IsRead_ bool
* KeyToRecipient_ int -> Foreign Key To Account_.Id_
* KeyToSender_ int -> Foreign Key To Account_.Id_
Коли користувач реєструється, створюється рядок в Account_, якщо користувач адмін створюється AdminAccount_ з прив'язкою по ключі KeyToAccount_
Переписуватися можуть лише адміни
При створені повідомлення записується його дата Date_, чи повідомлення було прочитане IsRead_ та ід відправника та отримувача
Я хочу написати запит який вибере [Ім'я], [Прізвище], [Кількість не прочитаних повідомлень] та посортує це все за датою, новіші - перші, ліміт 50 рядків
Тут мені вдалося отримати всіх адмінів та виключити свій адмін обліковий запис
SELECT
Account_.FirstName_ AS FirstName1,
Account_.LastName_ AS LastName1
FROM Account_
INNER JOIN AdminAccount_ ON AdminAccount_.KeyToAccount_ = Account_.Id_
LEFT JOIN Message_ ON Message_.KeyToRecipient_ = Account_.Id_
WHERE Account_.Id_<>1
LIMIT 0, 50
Тепер весь запит
SELECT
Account_.FirstName_ AS FirstName1,
Account_.LastName_ AS LastName1,
count(Message_.IsRead_>0) AS Count1
FROM Account_
INNER JOIN AdminAccount_ ON AdminAccount_.KeyToAccount_ = Account_.Id_
LEFT JOIN Message_ ON Message_.KeyToRecipient_ = Account_.Id_
WHERE Account_.Id_<>1
ORDER BY max(Message_.Date_) DESC
LIMIT 0, 50
Отримую помилку
Error Code: 1140. In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'Account_.FirstName_'; this is incompatible with sql_mode=only_full_group_by
Допоможіть написати запит.