我有一个查询来计算表中每列的总和,选择总和和列值。
$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/