mysql5.7发现了一点兼容问题

df300000 2015-12-01 01:59:39
平时做先排序后分组的功能都是用

select * from ( select * from table order by 【col】desc) group by 【col】

这样实现的。

刚刚在写代码发现数据不对,怎么试都不行

后面发现同样的语句在生产环境是可以的;

本地环境mysql是5.7
生产环境是5.6

大家有啥好用的语句替换么
...全文
431 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Phoenix_ 2016-03-25
  • 打赏
  • 举报
回复
我也遇到同样的问题了 我是生产环境5.7 本地5.6 5.7 group by 的改动 导致两边结果不一致 目前只能想办法降级生产环境版本到5.6 简直是瞎折腾
rick-he 2015-12-03
  • 打赏
  • 举报
回复
引用 5 楼 df300000 的回复:
[quote=引用 3 楼 u011575570 的回复:] 你这个先排序在分组和直接分组有区别? 你的col有索引? 你想要得到什么结果?
比如按时间来排序,得到每个用户的最新一条消息; 5.6里可以先排序后分组就可以, 5.7里就不可以了,得到的分组结果还是排序前的[/quote] 5.7有对分组改进吗?这倒是不知道,你可以将你的测试贴出来,然后大家测试下,看下。谢谢
df300000 2015-12-03
  • 打赏
  • 举报
回复
引用 4 楼 ACMAIN_CHM 的回复:
建议贴出实际的代码及错误提示。
没有报错,只是原来5.6里有效的代码到5.7里就无效了
df300000 2015-12-03
  • 打赏
  • 举报
回复
引用 3 楼 u011575570 的回复:
你这个先排序在分组和直接分组有区别? 你的col有索引? 你想要得到什么结果?
比如按时间来排序,得到每个用户的最新一条消息; 5.6里可以先排序后分组就可以, 5.7里就不可以了,得到的分组结果还是排序前的
ACMAIN_CHM 2015-12-02
  • 打赏
  • 举报
回复
建议贴出实际的代码及错误提示。
rick-he 2015-12-01
  • 打赏
  • 举报
回复
你这个先排序在分组和直接分组有区别? 你的col有索引? 你想要得到什么结果?
df300000 2015-12-01
  • 打赏
  • 举报
回复
引用 1 楼 ACMAIN_CHM 的回复:
select * from ( select * from table order by 【col】desc) t group by 【col】
忘了加别名,但这并不是问题
ACMAIN_CHM 2015-12-01
  • 打赏
  • 举报
回复
select * from ( select * from table order by 【col】desc) t group by 【col】

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧