0

对不起这个荒谬的标题!

是否可以运行 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 

我想在 TABLE my_log 中插入完成 10 个类型为 10 的任务的用户的日期。实际上,我正在对此稍作扩展,因此重要的是我使用 COUNT 和 HAVING 仅查找已完成 10 个或更多的任务。但是我的问题仍然是,由于 COUNT() 函数,我试图将 3 列插入到声明的 2 列中,所以我正在寻找一种从 COUNT 中受益但不在我的数据集中返回它/考虑的方法插入。

谢谢你的帮助 :)

4

1 回答 1

0

尝试:

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 
于 2011-06-01T08:18:40.603 回答