MySQL INSERT SELECT. Порядок вставки по количеству, но на самом деле не вставьте номер счета
Извините за нелепое название!
Можно ли выполнить запрос MySQL INSERT SELECT, где часть "SELECT" включает в себя функцию COUNT() (чтобы воспользоваться предложением HAVING) - это создает несопоставимое количество столбцов в части INSERT.
Например:
INSERT INTO my_log (user_id, date_finished)
SELECT COUNT(id) AS count, user_id, '2011-05-31 00:00:00'
FROM assignments WHERE assignment_type = 10
GROUP BY user_id
HAVING count >=10
Я хочу вставить в ТАБЛИЦУ my_log дату для пользователей, которые выполнили 10 назначений типа 10. На самом деле я немного расширяюсь, поэтому важно использовать COUNT и HAVING, чтобы найти только пользователей, которые завершили 10 или больше заданий. Но моя проблема остается в том, что я пытаюсь вставить 3 столбца в объявленные 2 столбца из-за функции COUNT(), поэтому я ищу способ извлечь выгоду из COUNT, но не вернуть его в моем наборе данных / рассматривается в вставка.
Спасибо за любую помощь:)
1 ответ
Попробуйте с:
INSERT INTO my_log ( user_id, date_finished)
SELECT user_id, '2011-05-31 00:00:00'
FROM assignments WHERE assignment_type = 10
GROUP BY user_id
HAVING ( COUNT(id) ) >=10