小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

sql

 jasonbetter 2018-02-22

MySQL: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sss

http://blog.csdn.net/u010429286/article/details/64444271
原創(chuàng) 2017年03月21日 16:55:39

今天在執(zhí)行MySQL中sql語句的時候報錯了,執(zhí)行的sql語句:

SELECT
    prov_desc,
    area_desc,
    month_id,
    MAX(total_fee)AS max_total,
FROM
sss
WHERE
    prov_id = '075'
OR prov_id IN('017')
AND month_id IN('201207')
GROUP BY
    prov_id,
    prov_desc,
    prov_ord,
    area_desc,
    area_ord
HAVING
    MAX(total_fee)> 100
ORDER BY
    prov_ord DESC,
    area_ord
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

錯誤提示如下:

Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sss.month_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
  • 1

? 認真看錯誤的提示發(fā)現(xiàn)是在group by中的字段比較selelct中的字段差了一個month_id, 而正好是month_id報錯。this is incompatible with sql_mode=only_full_group_by這句話提示了這違背了mysql的規(guī)則,only fully group by,也就是說在執(zhí)行的時候先分組,根據(jù)查詢的字段(select的字段)在分組的內(nèi)容中取出,所以查詢的字段全部都應(yīng)該在group by分組條件內(nèi);一種情況例外,查詢字段中如果含有聚合函數(shù)的字段不用包含在group by中,就像我上面的MAX(total_fee),至于為什么,我也不抬明白。 
? 后來發(fā)現(xiàn)Order by排序條件的字段也必須要在group by內(nèi),看此大神的博文解釋之后豁然開朗,排序的字段也是從分組的字段中取出。 不明白的可以去看一下。

解決辦法:select字段必須都在group by分組條件內(nèi)(含有函數(shù)的字段除外)。(如果遇到order by也出現(xiàn)這個問題,同理,order by字段也都要在group by內(nèi))。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多