注册 登录
编程论坛 SQL Server论坛

[求助]如何才能让SQL不排序

kanoute 发布于 2007-11-07 09:03, 2592 次点击
我的 SQL语句是这样的:
select * from 表
where
id=5 or
id=105 or
id=201 or
id=43 ;

我并没加order by,但出来的结果是:他按id的先后顺序排列了,而我需要的是他按我查询的顺序排,即
5,105,201,43这样,而非5,43,105,201。有人知道怎样解决吗?
10 回复
#2
purana2007-11-07 09:44
那你的条件就必须是id=5 or id=43 or id=105 or id=201了..
#3
kanoute2007-11-07 14:34
换言之就是没办法了???

[此贴子已经被作者于2007-11-7 14:35:53编辑过]


#4
alan8172007-11-08 11:44
没有order by 就会按照添加记录的先后顺序排列吧
#5
cyyu_ryh2007-11-08 12:47
如果不加排序的话都是
按照你数据库的顺序来排列的
#6
kanoute2007-11-08 18:07
那有什么方法可以得到我想要的结果呢?
#7
purana2007-11-08 18:13

它里面是这样执行的..
先找到id=5的记录.然后再找id=105的记录,然后在后面添加...最后再回来找id=43的..再往后添加..
形成最后的记录集..

可以试试Collate或者最后加个Order By

..不过你这种钻牛角尖..一点意义都没有..

#8
DasayHaoEr2007-11-08 19:08
不知道你为什么一定要这样做,但是有一个很笨的方法,就是多加一个字段,[备注]:然后以[备注]order by
#9
kanoute2007-11-08 20:43
我并不是要钻牛角尖,如果没这种需要的话,根本就不用提这个问题,具体的问题也并非搜几个ID出来,这样提出来只不过是将核心问题反映出来而已。望体谅!
#10
晟翔2007-11-11 17:05
既然是“不排序”。那么为什么又要求必须顺序是:5,105,201,43呢?
我想你是想按纪录的插入顺序来排列吧,既然如此,在定义表的时候,就该定义列:lrrq(录入日期)
这样才行
#11
晟翔2007-11-11 17:17
或者定义一个identity列
1