Access应用中的Select Top无效问题

简介:
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

  很早以前做asp+access的网站,就发现sql语句select top无效,不管top几条都是全部出来,同样的语句在sql2000中正常,邪门了,当时查查关于ACCESS中TOP 功能的一个问题,一直没有解决,就偷懒用限定程序循环次数解决了。

  最近重写深度学习(asp)网址导航(www.deepteach.com),又仔细查了一下资料。原来是access中对select top的语句支持有限,如果想在使用,要在查询TOP语句的后面使用Order by,而且Order by排序字段必须是无重复值,如果有重复值的话,那么这个TOP很可能会失效,会返回所有记录。
比如:

Select top 5 from 表 order by 性别,如果“性别”字段中有重复值,那么access数据库查询时很有可能会显示出所有的记录来,此时top功能会失效的,但如果“性别”中无重复值,那么top功能还是有效的。因此,在ACCESS中使用top功能要注意一下order by的字段是否会有重复值,为了保险起见,可以采用加入主键”的方式:Select top 5 from 表 order by 性别,id

  用主键作“不可能重复”的保障就可以防止此问题出现了!!



本文转自 netcorner 博客园博客,原文链接:  http://www.cnblogs.com/netcorner/archive/2010/04/01/2912027.html ,如需转载请自行联系原作者

相关文章
|
12天前
|
SQL Oracle 关系型数据库
`SELECT TOP
【11月更文挑战第13天】
28 8
|
关系型数据库 MySQL 数据库
MySQL新增字段报错:ERROR 1118 -- Row size too large. The maximum row size for the used table type
MySQL新增字段报错:ERROR 1118 -- Row size too large. The maximum row size for the used table type
1691 0
|
SQL 数据库
使用了 `table_B.status='0'` 来过滤右表的数据
使用了 `table_B.status='0'` 来过滤右表的数据
54 1
|
SQL 数据库
在连接条件中使用了 `table_B.status='0'`
在连接条件中使用了 `table_B.status='0'`
72 1
|
SQL
SQL TOP PERCENT 实例
SQL TOP PERCENT 实例
80 0
|
SQL Java 程序员
记录:1221 - Incorrect usage of UNION and ORDER BY...【亲测有效】
记录:1221 - Incorrect usage of UNION and ORDER BY...【亲测有效】
451 0
|
SQL 数据库管理 关系型数据库
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
测试环境:OEL6.5+Oracle 11g R2在进行执行计划测试的时候,遇到一个小问题。在用普通用户执行下面这条命令的时候,普通用户名为hhu,已经赋予了create session和resource权限。
1129 1
z-index无效解决
1、父标签 position属性为relative; 2、问题标签无position属性(不包括static); 3、问题标签含有浮动(float)属性。
1586 0
|
SQL C++ 索引
SQL Server-比较ROW_NUMBER VS TOP N查询性能差异
ROW_NUMBER VS TOP N 抱歉各位,从八月份开始一直在着手写EntityFramework 6.x和EntityFramework Core 2.0的书籍写作,所以最近一直遗漏了对博客的管理,后面会着手于写SQL Server、EntityFramework Core和.NET Core方面的博客。
2067 0