SQL关键字distinct去重是不是有排序的功能

飘雪连碧天 2016-05-05 03:22:18
后面加了条件之后 查询结果也就6条数据 只是使用了distinct后的结果显示不一样 这是什么情况
select   ys.NAME name from  SCM_dingdan2 dtl2 left join cp_yanse ys on yanse=ys.ID where billid=1211418 and rowno=(select min(rowno) from  SCM_dingdan2 dtl2 where billid= 1211418)

查询结果

然后使用了distinct之后 查询结果就变了
select  distinct ys.NAME name from  SCM_dingdan2 dtl2 left join cp_yanse ys on yanse=ys.ID where billid=1211418 and rowno=(select min(rowno) from  SCM_dingdan2 dtl2 where billid= 1211418)

...全文
2009 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CxNull 2019-07-25
  • 打赏
  • 举报
回复
Xiiiiin 2016-05-05
  • 打赏
  • 举报
回复
楼主看一下这个 http://bbs.csdn.net/topics/390756833?page=1
Ginnnnnnnn 2016-05-05
  • 打赏
  • 举报
回复
本身你没有使用 order by 来指定排序顺序,查询的顺序就是根据执行计划制定的。添加了distinct之后顺序不一样是因为执行计划都不一样了从而影响了结果集的顺序
卖水果的net 版主 2016-05-05
  • 打赏
  • 举报
回复
是有排序功能,并且是先排序,再去掉重复值; 去重复值时,只要比较相邻的行就可以了;

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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