SELECT TOP 9 title,id,hit FROM Article WHERE DATEDIFF('h',[ShowDateB],Now())>=0 可以正確顯示前9條
SELECT TOP 9 title,id,hit FROM Article WHERE DATEDIFF('h',[ShowDateB],Now())>=0 ORDER BY hit DESC 就成了全部顯示
???
只有4個值.很多是0
是不是這樣不足九個就會全取出?
怎麼解決呢??? 在SQL Server就沒有這種問題阿
回答:
再說一遍,JET SQL不是 T-SQL語句。 jet sql 會返回重復值,也就是說,一個表中如果 ORDER BY 的字段都是 0 ,一共有100條記錄,即使你用SELECT TOP 1 來返回記錄,也同樣返回100條記錄,因為 JET DB 無從在這100條記錄裡面判斷先後次序,只能返回100條。要解決此問題可以建立一個自動編號字段(id),然後用 select top 1 a,id from tablename order by a,id