真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql使用group by查詢報(bào)錯(cuò)SELECT list is not in GROUP BY clause and contains nonaggregated column...原因及解決方案

在項(xiàng)目中需要用到group by進(jìn)行聚合計(jì)算,在計(jì)算的同時(shí)也要查出一些其他字段來(lái)返回給前端。于是就有了這個(gè)錯(cuò)誤的出現(xiàn)。

迎江網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),迎江網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為迎江1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的迎江做網(wǎng)站的公司定做!

先簡(jiǎn)單復(fù)現(xiàn)我所寫的sql,其實(shí)sql非常簡(jiǎn)單。

select
channel_name as channelName,
brand_name as brandName,
sum(actual_value) as actualValue,
sum(actual_value_ty) as actualValueTy,
sum(actual_value_ly) as actualValueLy,
sum(target_value) as targetValue
from bu_channel_base_performance
group by channel_name
然后就是這樣一段sql在運(yùn)行時(shí)候報(bào)錯(cuò)如標(biāo)題所示,

這種模式的官方解釋:ONLY_FULL_GROUP_BY是MySQL數(shù)據(jù)庫(kù)提供的一個(gè)sql_mode, 通過(guò)這個(gè) sql_mode 來(lái)保證, SQL語(yǔ)句 “分組求最值” 合法性的檢查. 這種模式采用了與 Oracle、DB2 等數(shù)據(jù)庫(kù)的處理方式。即不允許 select target list 中出現(xiàn)語(yǔ)義不明確的列.
對(duì)于用到 GROUP BY 的 select 語(yǔ)句, 查出來(lái)的列必須是 group by 后面聲明的列, 或者是聚合函數(shù)里面的列有這樣一個(gè)數(shù)據(jù)庫(kù)的表.
因此,這種模式的特點(diǎn)是:

1:只要有聚合函數(shù) sum(),count(),max(),avg() 等函數(shù)就需要用到 group by , 否則就會(huì)報(bào)上面的錯(cuò)誤.
2:group by id (id 是主鍵) 的時(shí)候, select 什么都沒(méi)有問(wèn)題, 包括有聚合函數(shù).
3:group by role (非主鍵) 的時(shí)候, select 只能是聚合函數(shù)和 role ( group by 的字段) , 否則報(bào)錯(cuò)

而解決方案,大家則都是給出了相同的方案,修改mysql配置文件,即:

select @@sql_mode;
先查看自己mysql的mode配置,一般不出意外都是:ONLY_FULL_GROUP_BY。

此時(shí),方案就是修改sql_mode:

sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"

倘若你通過(guò)修改sql能夠解決問(wèn)題而不影響你的結(jié)果,那么個(gè)人認(rèn)為最好是優(yōu)先修改sql。


網(wǎng)頁(yè)題目:mysql使用group by查詢報(bào)錯(cuò)SELECT list is not in GROUP BY clause and contains nonaggregated column...原因及解決方案
標(biāo)題鏈接:http://weahome.cn/article/dsoghgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部