解决SELECTTOP1语句返回多条记录
问题:
如何解决SELECT 1语句实际返回多条记录的问题?
Select 9 title,id,hit from article where datediff ('h ',[show date b],now ()) > = 0
正确显示前9篇文章。
SELECT 9 title,id,hit FROM Article WHERE DATEDIFF('h ',[ShowDateB],Now())>=0 ORDER BY hit DESC
它变成了完整的显示。
只有四个值。很多都是0
是这样吗?少于9个就全部拿出来?
怎么解决???
SQL Server不存在这样的问题。
回答:
同样,JET SQL不是T-SQL语句。
jet sql会返回重复值,也就是说,如果一个表中ORDER BY的字段都是0,那么总共有100条记录。即使使用SELECT 1返回记录,也会返回100条记录,因为JET DB无法判断这100条记录之间的顺序,只能返回100条记录。要解决这个问题,您可以设置一个自动编号字段(id),然后使用
从表名中选择top 1a,order by a,ID
0条评论