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 
Другие вопросы по тегам