Excel热文
Access数据库Select Top问题
之前从未遇到过Access数据库Select Top的问题,今天是遇到了。
示例如下:Select Top 6 ID,Title From Table Where IsPass=1 Order By OrderID
之前的这个语句确实是只返回6条数据,更新了一些数据后,便会返回多于6条的数据,百思不得其解。
更换成:Select Top 6 ID,Title From Table Where IsPass=1 Order By ID
之后便又只返回6条了。查阅了查卷资料后,发现问题所在:排序字段OrderID存在相同的记录,而Access中TOP 谓词不在相同值间作选择(Top无法在相同的值里选择出你所想要的Top Order)。
修正后SQL语句:Select Top 6 ID,Title From Table Where IsPass=1 Order By OrderID, ID Desc
搞定!
总结:在Access中使用Select Top语句,排序的字段值不能有重复的,如果存在相同值的记录,则在这个语句中都会返回相应的记录。解决办法:增加排序字段。
评 论