51CTO技术论坛_中国领先的IT技术社区's Archiver

遥远路途 发表于 2007-8-26 13:53

SQL查询中出现的怪事

在对一组数据进行模糊查询时出现的这种情况:
查询的结果一共有75条记录
select top 25 * from user_table
where f_user_id like '%netuser%'
结果:
netuser
netuser001
....
netuser024

接下来是25个递增,当用top 64 查询的时候,结果确变了

select top 64 * from txa_user_info
where f_user_id like '%netuser%'
结果:
netuser001
...
netuser_064

原来的netuser这条记录却没有了

当用户top 75查时,发现这条记录出现在最后。

这就奇怪了,为什么会出现这种情况呢?
这些用户名并不连续,从netuser,netuser001-netuser025,netuser032-netuser075

我又试着添加了连续编号的用户名,这回确没有问题,
请问这是为什么呢?

plpznn 发表于 2007-8-26 17:45

因为你的查询里没有指定排序的语句,执行你的查询时,只是返回符合你的要求的结果~

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.