Sql语句distinct与order by同时使用的问题

distinct与order by同时使用的时候,排序的字段必须出现在查询列中,可是为什么我没这么做还是查询成功了呢.
图片说明
然而同样的表结构放到另外一个数据库里就很正常的提示语法错误.
是与数据库版本有关系么,使用错误的语法查询成功的是mysql 5.5,正常报错的是mysql 5.777

3个回答

distinct 和 order by 是可以一起用的。
distinct :消除重复行 order by:排序
同时使用时,**先消除重复行,然后排序**

Sweet__dream
Sweet__dream 回复苏坡叉叉: 采纳评论此贴的某一评论就可以了
大约 3 年之前 回复
qq_28701323
苏坡叉叉 在5.7里面查询是这样的 ![图片说明]()http://img.ask.csdn.net/upload/201709/05/1504594889_796314.png 查过了确实是5.7以后的版本不兼容,在配置文件里加上" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES " 就好了 谢谢
大约 3 年之前 回复

找到解决办法了怎么结束此贴啊.......

distinct: 消除重复的行
order by : 排序

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐