程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> 如何解決access 中 SELECT TOP 1語句竟然返回多條記錄的問題?

如何解決access 中 SELECT TOP 1語句竟然返回多條記錄的問題?

編輯:關於Access數據庫
簡述:如何解決 SELECT TOP 1語句竟然返回多條記錄的問題
 

 

問題:

如何解決 SELECT TOP 1語句竟然返回多條記錄的問題?


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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved