什么样缓解ACCESS中select TOP语句返回全部记录问题?(转)

原文:http://www.tinyu.net/blog/blogview.asp?logID=470

ACCESS 1假设以询问TOP语句之背后使用Order by,而且Order by字段遭遇生再度复值的言语,那么是TOP很可能会见失效,
ACCESS 2会回到所有记录
ACCESS 3比如:
ACCESS 4 select top 5 from News order by createDate
ACCESS 5比方createDate中出再复值,那么深有或会见来得有具有的笔录来,此TOP功能会失效的
ACCESS 6可是如若createDate中无重复值,那么TOP功能要有效的
ACCESS 7
ACCESS 8用,在ACCESS中使TOP功能一旦顾一下order by的字段是否会面来再复值,如果象createDate是”年-月-日 时:分:秒”的,那大多问题不大的。
ACCESS 9而是以确保起见,我们也堪下”加入主键”的法门:
ACCESS 10 select top 5 from News order by createDate desc,id desc
ACCESS 11
ACCESS 12因此主键作”不可能重新”的维持就得预防这题材出现了!!
ACCESS 13
ACCESS 14希望马上对准ACCESS一些朋友发生因此!!
ACCESS 15
ACCESS 16于网上找到一个连锁的分解:
ACCESS 17JET SQL不是 T-SQL语句。
ACCESS 18jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共发100长条记下,即使你用select TOP 1 来回到记录,也同样返回100漫长记下,因为 JET DB 无从在及时100漫漫记下中判断先后顺序,只能回到100条。要化解之题材得以于末端加入一个主键字段
ACCESS 19

相关文章