mysql - 在带有 JOIN 的语句中嵌套 COUNT

标签 mysql

真的很想弄清楚为什么 SQL 查询没有通过。我认为结构有点错误,但无法弄清楚到底在哪里。对表格的引用都是正确的。

SELECT tap_questionnaires.id, 
   tap_questionnaires.NAME, 
   tap_questionnaires.active, 
   tap_useranswers_ip.questionnaire_id, 
   Count(tap_useranswers_ip.ip) 
FROM   tap_questionnaires 
       LEFT JOIN tap_useranswers_ip 
              ON tap_questionnaires.id = tap_useranswers_ip.questionnaire_id 
WHERE  author_email = admin@admin.com 

最佳答案

如果您使用 count,则需要对 select 子句中的其他列使用 group by。

SELECT TAP_questionnaires.id, TAP_questionnaires.name, TAP_questionnaires.active, TAP_useranswers_ip.questionnaire_id, COUNT(TAP_useranswers_ip.ip) FROM TAP_questionnaires LEFT JOIN TAP_useranswers_ip on TAP_questionnaires.id=TAP_useranswers_ip.questionnaire_id WHERE author_email="admin@admin.com"
group by TAP_questionnaires.id, TAP_questionnaires.active

我认为 TAP_questionnaires.name 没有必要,因为我认为它取决于 TAP_questionnaires.id。 TAP_useranswers_ip.questionnaire_id 与 TAP_questionnaires.id 的值相同

希望有帮助!

关于mysql - 在带有 JOIN 的语句中嵌套 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44640525/

相关文章:

mysql - "Merge"Mysql中的IN和LIKE操作符

mysql搜索查询搜索许多列

MySQL 查询 - 我需要一些帮助来完善它

php - 表单提交后刷新

python - 在 Centos 6.4 上安装 mysql-python

php - Mysql 使用 MATCH() AGAINST() 搜索字符串和数字不工作

mysql - 根据指定列选择唯一行

Spring boot和hibernate中Mysql 'Like'搜索

php - 如何将字符串从 foreach 循环存储到数组中?

php - 我怎样才能用更短的方式写出很多类似的 if 语句?