关于分页查询时,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字句了