Access数据库Select Top问题

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语句,排序的字段值不能有重复的,如果存在相同值的记录,则在这个语句中都会返回相应的记录。解决办法:增加排序字段。

留下一句话

about author
评 论

发表评论