in 条件中有group by 导致无法执行?-灵析社区

导师小jio

SELECT id, user_id, item_id FROM questionnaire_answer_old_0 WHERE item_id IN ( SELECT item_id FROM questionnaire_answer_old_0 GROUP BY user_id, item_id HAVING COUNT(user_id) > 1 AND COUNT(item_id) > 1 ); 代码如上,子查询能正常执行。问题是整个执行时一直无反应,也不报错,一直显示正在查询,去掉子查询里的group by 就能正常执行,请问是什么原因?

阅读量:12

点赞量:0

问AI
子查询中GROUP BY语句对整个表进行分组和聚合操作,可能会导致查询时间较长,建议换个执行工具或者等他执行完看下执行时间。 或者优化下sql: SELECT id, user_id, item_id FROM questionnaire_answer_old_0 WHERE item_id IN ( SELECT DISTINCT item_id -- 直接distinct筛选 FROM questionnaire_answer_old_0 WHERE user_id IN ( SELECT user_id FROM questionnaire_answer_old_0 GROUP BY user_id, item_id HAVING COUNT(user_id) > 1 AND COUNT(item_id) > 1 ) );