u014353911
wuruize888
2017-06-11 07:01
采纳率: 88.2%
浏览 883

mysql语法问题,哪位能帮我一下,谢谢

SELECT MTAUT_ID,MTAUT_NAME,MTAUT_PARID,MTAUT_INDEX FROM MT005AUT GROUP BY MTAUT_PARID,MTAUT_INDEX DESC

想用group by分组排序
报错,Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'mtiansystem.MT005AUT.MTAUT_ID' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • csdn19900419
    formonitor 2017-06-11 07:23
    已采纳

    你select里可以查聚合函数(如COUNT, AVERAGE之类的),也可以查询group里的有的列。
    但是你“MTAUT_ID , MTAUT_NAME”这两列既不是聚合函数,也不在后面group by里,所以会出错。

    点赞 评论
  • baluzju
    baluzju 2017-06-11 07:15
    点赞 评论
  • p531877327
    p531877327 2017-06-11 09:01

    我是来凑热闹的。。楼上正解

    点赞 评论
  • weixin_38223828
    家蹲 2017-06-11 10:11

    group by 排序
    举个例子
    a b c
    1 2 3
    1 2 4
    select * from table group by a,b的话
    结果是
    a b c
    1 2 3
    select a,count(c) from table group by a,b
    结果
    a count(c)
    1 2
    只能select表里有的列和聚合函数,如果清楚这个,应该检查下单词打的对不对,也许列名错了

    点赞 评论
  • qq_35160012
    大白balabala 2017-06-11 12:13

    楼主,百度一下关键字"sql_mode=only_full_group_by" 问题即可解决

    点赞 评论
  • qq_33732975
    qq_33732975 2017-06-13 01:59

    使用group by 分组,查询的列要么是聚合函数要么是要分组的列

    点赞 评论

相关推荐