设为首页收藏本站

自学it网-公益PHP培训!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1156|回复: 3

[已解决] mysql中from子查询疑问 [复制链接]

Rank: 1

发表于 2016-5-10 15:47:52 |显示全部楼层
这两天看老师的mysql视频教程,在其中的from子查询章节中,示例问题为 “按产品分类在goods表中查询价格最高的商品”,使用的sql语句为select * from (select cat_id,goods_name,shop_price from goods order by cat_id asc,shop_price desc) as t group by cat_id
但是在mac上查询出来的结果却是



而此时cat_id为3的商品中价格最高的并不是”飞利浦9@9v“

这里的问题是在from的子查询中并没有保留order by 的顺序,想问一下这是为什么?另外在win中不存在这个问题,同样的sql可以查询到想要的结果。mac上的mysql版本为5.7.9,后来换成10.1.9-MariaDB 仍然有这个问题。

使用道具 举报

Rank: 1

发表于 2016-5-10 15:51:06 |显示全部楼层
图没传上去,补图

图1

图1

图2

图2

使用道具 举报

Rank: 1

发表于 2016-5-10 16:10:48 |显示全部楼层
已解决,在mysql5.5之后的版本中使用from子查询会有此问题,多谢老师

使用道具 举报

Rank: 1

发表于 2018-4-12 21:26:25 |显示全部楼层
Daryl2016 发表于 2016-5-10 16:10
已解决,在mysql5.5之后的版本中使用from子查询会有此问题,多谢老师

你好!我想问下,你最后用from型子查询成功查出商品最大id的代码是什么样的?

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|自学it网 ( 京ICP备12009156号 )  

GMT+8, 2018-4-25 00:34 , Processed in 0.032364 second(s), 7 queries , Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部