问题描述
|
对不起,这个荒谬的标题!
是否可以运行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个或更多任务的人。但是我的问题仍然是,由于COUNT()函数,我试图将3列插入声明的2列中,所以我在寻找一种方法可以从COUNT中受益,但不能在我的数据集中返回它/在插入中考虑。
谢谢你的帮助 :)
解决方法
尝试:
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