MySQL 查询值里面明明用了max方法 仍然报错,sql_mode=only_full_group_by

这个是我写的sql文,我在网上查了相关资料,如果使用max的话是不可以解决only_full_group_by这种错误的,为什么我的sql 仍然报错?

    SELECT
        user_master.logon,
        MAX( user_logon_log.logon_time ) AS time
    FROM
        user_master
        INNER JOIN user_logon_log ON user_master.user_id = user_logon_log.user_id
        INNER JOIN group_assign ON ( user_master.user_id = group_assign.user_id )
        INNER JOIN group_master ON ( group_master.group_id = group_assign.group_id AND group_master.group_name = "マイページ" )
    GROUP BY
        user_master.logon
                
    ORDER BY
        user_logon_log.logon_time DESC
    

这个是错误信息

Expression #2 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'smartFORCE.user_logon_log.logon_time' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

哪位大牛知道原因

阅读 1.4k
1 个回答

楼上的大神 唯一丶 帮我解决了,感谢。

order by 那里的 user_logon_log.logon_time 改成 time

不过我还是不太了解为什么。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题