php - 如果没有 GROUP BY 子句,没有 GROUP 列的 MySQl 错误 : #1140 - Mixing of GROUP columns (MIN(), MAX(),COUNT(),...) 是非法的

标签 php mysql

我有一个查询来计算表中每列的总和,选择总和和列值。

    $query = "select sum(salleryallowance), 
sum(entertainmentexp),
sum(depreciation), 
sum(electricity), 
sum(securitygard),
sum(machinaryrepaire), 
sum(totalrepairing),
sum(othermaintanaice),
sum(postal_charge),
sum(officeexp), 
sum(stationary),
sum(rent_lease_thresher), 
sum(rent_tractor), 
sum(traivlingallowance),
sum(transportaion_cost), 
sum(bank_commition), 
sum(total_exp),
sum(interest_earned), 
bit_farm.name as fname, 
bit_regional.name as rname 
from bit_income_expenditure 
inner join bit_farm on bit_income_expenditure.farm_id = bit_farm.id 
inner join bit_regional on bit_income_expenditure.region_id = bit_regional.id
";
$fetch = mysql_query($query);

$row = mysql_fetch_array($fetch);

// and print my output

echo $row[0]; //and so on....

当我执行此代码时,它显示以下错误:

如果没有 GROUP BY 子句,则将 GROUP 列(MIN()、MAX()、COUNT()...)与没有 GROUP 列的混合是非法的

如何解决这个错误?

最佳答案

您的select条款包括:

 bit_farm.name as fname, bit_regional.name as rname 

MySQL 将默认接受此设置,但您的系统必须具有默认设置才能兼容 ANSI。

这取决于你想要什么。如果您希望每个“农场”和“区域”具有不同的值,请添加:

 group by bit_farm.name, bit_regional.name 

如果您想要总体总计,请从 select 中删除这些列.

关于php - 如果没有 GROUP BY 子句,没有 GROUP 列的 MySQl 错误 : #1140 - Mixing of GROUP columns (MIN(), MAX(),COUNT(),...) 是非法的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32585872/

相关文章:

php - 如何在MYSQL中查找并替换数据库中具有<> "'的字符串?

php - 无法在 codeigniter View 中显示逗号分隔值

java - java中的二维 vector 在java中得到模糊的输出

php - 我可以检测 PNG 文件是否是从多页 PDF 文件转换而来,并使用 ImageMagick 将图像拆分为单独的文件吗?

php - 未找到 Google 身份验证 API key

php - 构建一个更真实的随机词生成器?

php - 我怎样才能保护这个 PHP 脚本?

java - jdbc 返回 1,表示没有更新 executeBatch() 中的记录

php - Mysql 查询更新行并使用相同的查询返回新值

mysql - 从两个表中选择并总是从一个表中返回