Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
546 views
in Technique[技术] by (71.8m points)

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

哪位大牛知道原因


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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

order by 那里的 user_logon_log.logon_time 改成 time

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...