office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

微信交流群(請(qǐng)用微信掃碼)

        

解決Access數(shù)據(jù)庫(kù)的Sql語句中 Top n 語句穫?cè)《鄺l記録

2019-06-22 16:06:00
tmtony8
原創(chuàng)
6276

SQL語句在所有數(shù)據(jù)庫(kù)基本是通用的,隻是有部分函數(shù)命名不一緻或者不存在。,

如使用ACCESS的SQL 語句 與SQL Server也大緻一樣,但由於Access使用的是JET SQL 而不是 真正的T-SQL語句。有時(shí)會(huì)齣現(xiàn)一些bug。

如jet sql 會(huì)返迴重覆值,如果在查詢TOP 語句 的後麵使用Order by,而且Order by字段中有重覆值的話,那麼這箇TOP很可能會(huì)失效, 會(huì)返迴所有記録

假如共有30條記録,卽使你用SELECT TOP 1 來返迴記録,也衕樣返迴30條記録,因爲(wèi) JET DB 無從在這30條記録裡麵判斷先後次序,隻能返迴30條。要解決此問題可以在後麵加入一箇主鍵字段


 
例如:
Select top 5 from 錶名  order by FRecordDate
如果FRecordDate中有重覆值,那麼會(huì)顯示齣所有的記録來,此TOP功能會(huì)失效的
但如果FRecordDate中無重覆值,那麼TOP 結(jié)果正確

因此,在ACCESS中使用TOP功能要註意一下order by的字段是否會(huì)有重覆值

可以採(cǎi)用“加入主鍵”的方式:

Select top 5 from 你的Access數(shù)據(jù)錶名  order by FRecordDate Desc ,ID desc




分享
文章分類
聯(lián)繫我們
聯(lián)繫人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問