Привет, я - MySQL Noob. У меня есть таблица с различными списками предприятий, и я пытаюсь заполнить вторую таблицу с названием «города», которая содержит уникальные названия городов и количество записей в каждом городе. Я могу сделать оператор SELECT, который получает мне эти данные, например, так:
SELECT city,state,sum(count)
FROM (
SELECT city,state, 1 AS count FROM listings
) results
GROUP BY city
ORDER BY sum(count) DESC,city;
Тем не менее, теперь я хочу обновить таблицу, но я не могу заставить работать правильное утверждение. Это последнее, что у меня есть, но в настоящее время я получаю сообщение об ошибке «Недопустимое использование групповой функции».
INSERT INTO cities(city,state,size)
SELECT city,state,sum(count)
FROM (
SELECT city,state, 1 AS count FROM listings
) results
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), size=sum(count);
Любая помощь приветствуется!