如何解決ACCESS中SELECT TOP語句竟然返回多條記錄的問題
瀏覽量:6539
我一直以為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