Dan*_*ams 32 mysql sql aggregate mysql-error-1055
收到以下错误:
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'world.country.Code' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Run Code Online (Sandbox Code Playgroud)
运行以下查询时:
select countrylanguage.language, country.code, sum(country.population*countrylanguage.percentage/100)
from countrylanguage
join country on countrylanguage.countrycode = country.code
group by countrylanguage.language
order by sum(country.population*countrylanguage.percentage) desc ;
Run Code Online (Sandbox Code Playgroud)
使用MySQL世界测试数据库(http://dev.mysql.com/doc/index-other.html).不知道为什么会这样.目前正在运行MYSQL 5.7.10.
有任何想法吗???:o
dav*_*jal 25
正如@Brian Riley已经说过你应该在你的选择中删除1列
select countrylanguage.language ,sum(country.population*countrylanguage.percentage/100)
from countrylanguage
join country on countrylanguage.countrycode = country.code
group by countrylanguage.language
order by sum(country.population*countrylanguage.percentage) desc ;
Run Code Online (Sandbox Code Playgroud)
或将其添加到您的分组
select countrylanguage.language, country.code, sum(country.population*countrylanguage.percentage/100)
from countrylanguage
join country on countrylanguage.countrycode = country.code
group by countrylanguage.language, country.code
order by sum(country.population*countrylanguage.percentage) desc ;
Run Code Online (Sandbox Code Playgroud)
Bri*_*ley -3
country.code不在您的group by语句中,也不是聚合(包装在聚合函数中)。
https://www.w3schools.com/sql/sql_ref_sqlserver.asp
| 归档时间: |
|
| 查看次数: |
119318 次 |
| 最近记录: |