Mysql 组函数的使用无效-#1111
我有两张桌子 表verkoper 贝斯特林根表 我的问题是:Mysql 组函数的使用无效-#1111,mysql,sql,Mysql,Sql,我有两张桌子 表verkoper 贝斯特林根表 我的问题是: SELECT v.naam, SUM(COUNT(b.status) * 1.50) FROM verkoper AS v INNER JOIN bestellingen AS b ON b.verkoper = v.id WHERE b.status = 'retour' GROUP BY b.verkoper 它给出了错误#1111-组函数的无效使用 有人有想法吗?我
SELECT v.naam,
SUM(COUNT(b.status) * 1.50)
FROM verkoper AS v INNER JOIN
bestellingen AS b ON b.verkoper = v.id
WHERE b.status = 'retour'
GROUP BY b.verkoper
它给出了错误#1111-组函数的无效使用
有人有想法吗?我想这可能就是你想要的:
SELECT v.naam, COUNT(*)*1.50
FROM verkoper v INNER JOIN
bestellingen b
ON b.verkoper = v.id
WHERE b.status = 'retour'
GROUP BY v.naam;
注:
键应与查询中的未聚合列匹配groupby
- 您可以使用
或count(*)
对所有行进行计数。这样打字更简单count(1)
- 没有理由在
SUM()中嵌套
COUNT()
- 我想这可能就是你想要的:
SELECT v.naam, COUNT(*)*1.50
FROM verkoper v INNER JOIN
bestellingen b
ON b.verkoper = v.id
WHERE b.status = 'retour'
GROUP BY v.naam;
注:
键应与查询中的未聚合列匹配groupby
- 您可以使用
或count(*)
对所有行进行计数。这样打字更简单count(1)
- 没有理由在
SUM()中嵌套
COUNT()
分组,因此我们无法猜测您想要实现什么。您能否添加分组依据无效的预期结果。对于较新的MySQL版本,将返回错误(除非处于兼容模式),对于较旧的MySQL版本,将返回不可预测的结果。常规GROUP BY规则说:如果指定了GROUP BY子句,则SELECT列表中的每个列引用必须标识一个分组列或是集合函数的参数!您不能选择不属于分组(此处:v.naam)的列。我想,不允许在聚合中进行聚合。Mysql还允许这种奇怪的方式编写分组,因此我们无法猜测您想要实现什么。您能否添加分组依据无效的预期结果。对于较新的MySQL版本,将返回错误(除非处于兼容模式),对于较旧的MySQL版本,将返回不可预测的结果。常规GROUP BY规则说:如果指定了GROUP BY子句,则SELECT列表中的每个列引用必须标识一个分组列或是集合函数的参数!天啊!谢谢,我真是太蠢了。。。甚至都没试过!谢谢,我真是太蠢了。。。甚至都没试过