日期:2014-05-18  浏览次数:20763 次

关于分页查询时,SQL语句的问题
比如,以下这条语句

select   top   5   *   from   DeliveryPool   where  
(BookingTime   not   in   (select   top   15   BookingTime   from   DeliveryPool   order   by   BookingTime   desc))  
order   by   BookingTime   desc

表DeliveryPool中有22条语句,此条语句查询却没有结果,原因何在呢?

麻烦高手指点下,

我尝试将15改了下,发现,13以下,都有结果出来,13以上,确查找不到任何数据?

原因何在呢?

------解决方案--------------------
select distinct BookingTime from DeliveryPool

运行上面这个,如果不出意外,结果只有13条。
因为只有13个不同的时间,

你的sql里面包含 bookingTime not in(....)
如果时间有重复,肯定结果不会是你预期的。


------解决方案--------------------
注意,如果是Oracle數據庫的話,就不支持top字句了