对不起这个荒谬的标题!
是否可以运行 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 中受益但不在我的数据集中返回它/考虑的方法插入。
谢谢你的帮助 :)