如何解決access中SELECTTOP1語(yǔ)句竟然返回多條記錄的問(wèn)題?

字號(hào):

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