Пытаюсь выполнить запрос. Запрос должен полю users.cases присвоить количество записей для каждого юзера которые есть в таблице inventory по каждому из юзеров в диапазоне id юзеров 1 и 30
UPDATE users usr
LEFT OUTER JOIN inventory inv
ON usr.id = inv.user
SET usr.cases = COUNT(inv.id)
WHERE usr.id BETWEEN 1 AND 300
не понимаю, в чем ошибка. #1111 - Invalid use of group function
Вы можете использовать следующий вариант запроса:
UPDATE users usr
LEFT JOIN (
-- Суммируем количество записей по юзеру
SELECT inv.user userid, COUNT(inv.id) AS cnt
FROM inventory inv
WHERE inv.user BETWEEN 1 AND 300
GROUP BY inv.user
) s ON usr.id = s.userid
-- Обновляем данные юзера
SET usr.cases = IFNULL(s.count, 0) -- Обнуляем NULL -> 0
WHERE usr.id BETWEEN 1 AND 300
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Посоветуйте какой стек сейчас популярен для web разработки на java, и с чего лучше начать учить
Для сохранения файлов внутри приложения использую FileProviderВ Manifest прописываю следующее: