关于mysql的sql语句的疑问

zslin2011 2015-11-15 08:13:30
以前用的都是sql server和db2,现在做mysql。
碰到一个sql语句:
select max(id),user_id,name
from user
group by user_id;

当时看的时候以为sql语句写错了,因为通过group by user_id时,name列未指定使用分组后的哪一行,然后尝试执行了一下,原来在mysql中这个sql语句没有问题。
请问:这个在sql server和db2下执行有问题的sql在mysql下执行,name列会取分组后的哪一行?
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangshumin23 2015-11-15
  • 打赏
  • 举报
回复
mysql的group by没有像sqlserver和oracle那么严格,不用说group by什么就要查询什么,这个也是我之前从oracle迁移到mysql后发现的,上网查了确实是这样
Evankaka 2015-11-15
  • 打赏
  • 举报
回复
group by 并没有排序功能,除非本组的记录只有一条!GROUP BY 在分组的时候,可能是一个一个来找的,发现有相等的tid,去掉,保留第一个发现的那一条记录,所以找出来的 记录永远只是按照默认索引顺序排列的!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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