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)
3 个解决方案
#1
是有排序功能,并且是先排序,再去掉重复值;
去重复值时,只要比较相邻的行就可以了;
去重复值时,只要比较相邻的行就可以了;
#2
本身你没有使用 order by 来指定排序顺序,查询的顺序就是根据执行计划制定的。添加了distinct之后顺序不一样是因为执行计划都不一样了从而影响了结果集的顺序
#3
楼主看一下这个
http://bbs.csdn.net/topics/390756833?page=1
http://bbs.csdn.net/topics/390756833?page=1
#1
是有排序功能,并且是先排序,再去掉重复值;
去重复值时,只要比较相邻的行就可以了;
去重复值时,只要比较相邻的行就可以了;
#2
本身你没有使用 order by 来指定排序顺序,查询的顺序就是根据执行计划制定的。添加了distinct之后顺序不一样是因为执行计划都不一样了从而影响了结果集的顺序
#3
楼主看一下这个
http://bbs.csdn.net/topics/390756833?page=1
http://bbs.csdn.net/topics/390756833?page=1