建站技術網專注分享網站建設技術,網站建設教程,真正幫你學會做網站技術,輕松解決網站建設過程中遇到的常見問題,為廣大站長服務。 網站地圖 | 收藏本站 | 訂閱
域名投資,就來找米網,認準網址:www.zhaomi.cc 專業仿站,就到仿站網:www.fangzhan.org
  站內公告: ·帝國cms教程內容已更新,歡迎關注     ·建站技術網采用阿里云服務器,備案已通    
您當前的位置:建站技術網 > 數據庫教程 > Access教程

access select top 的問題

時間:2018-02-02 15:53:54  來源:網絡收集  整理: 建站技術網 www.txwlqq.com     點擊:19次

語句如下  select top 10 NS_Id,NS_Title,NS_Times from [News] where NS_Fid=5 order by NS_Times desc

 

結果返回了40多條記錄,但是top3的時候就正常,但是NS_Times字段中有一些是一樣的,發布時間字段,資料解釋如下  :

=============================================

關于ACCESS中TOP 功能的一個問題


我一直以為ACCESS的SQL語句與SQL Server差不多,當時也使用 Select top n在ACCESS測試過,都是成功的,但昨天突然發現ACCESS中有個問題:

  如果在查詢TOP語句的后面使用Order by,而且Order by字段中有重復值的話,那么這個TOP很可能會失效,

會返回所有記錄

比如:

 Select top 5 from News order by CreateDate

如果CreateDate中有重復值,那么很有可能會顯示出所有的記錄來,此TOP功能會失效的

但如果CreateDate中無重復值,那么TOP功能還是有效的


因此,在ACCESS中使用TOP功能要注意一下order by的字段是否會有重復值,如果象CreateDate是"年-月-日 時:分:秒"的,那基本上問題不大的。

但為了保險起見,我們也可以采用“加入主鍵”的方式:

 Select top 5 from News order by CreateDate desc,id desc


用主鍵作“不可能重復”的保障就可以防止此問題出現了!


希望這對某些朋友有用!


在網上找到一個相關的解釋:

JET SQL不是 T-SQL語句。

jet sql 會返回重復值,也就是說,一個表中如果 ORDER BY 的字段都是 0 ,一共有100條記錄,即使你用SELECT TOP 1 來返回記錄,也同樣返回100條記錄,因為 JET DB 無從在這100條記錄里面判斷先后次序,只能返回100條。要解決此問題可以在后面加入一個主鍵字段


標簽:
文章標題:access select top 的問題
文章網址:http://www.txwlqq.com/shujuku/Access/3812.html
上一篇:SQL語法 Access
下一篇:Access實現limit類似的功能的方法
來頂一下
返回首頁
返回首頁
相關文章
    無相關信息
推薦資訊
如何通過SEO優化排名賺錢?SEO賺錢方法
如何通過SEO優化排名賺
seo優化教程:網站seo內容優化
seo優化教程:網站seo
SEO細節:企業SEO如何快速為新站做出效果
SEO細節:企業SEO如何
電商技術將如何發展?2018年有這五個大膽預測
電商技術將如何發展?
最新文章
欄目更新
欄目熱門
成人黄色