一个简单的Select语句 ( 积分: 30 )

  • 主题发起人 主题发起人 maysoft
  • 开始时间 开始时间
M

maysoft

Unregistered / Unconfirmed
GUEST, unregistred user!
select top 10 * from News order by NewsDate DESC
如果一个新闻列表。我只想选出日期最近的前10条,但是这个语句结果是将所有记录都返回了,怎么回事?
 
没道理啊,你试试选择5条或者3条试试吧。
 
不会有问题的,我做过这样的
 
应该可以的。
 
正常啊. 因为你的所有记录加起来也不够10条啊, 所以,都返回是正常的啊.
---
说笑一下哈,不过请你检查是不是你所有的记录超过10条.
 
不好意思!忘记说了。数据库是Access的。这个语句在SQL里确实没有问题!但是Access就有问题!
select top 10 * from News order by NewsDate DESC
这样会选出全部!
select top 10 * from News order by ID (ID是自增字段,主键)
这样就能选出10条。
怎么回事呢?
 
acssess与sql的语法是有些不同的,所以就出现这种情况。
 
原因:ACCESS中 TOP谓词 不在相等值之间进行选择。如果第10条后的值与第10条一样,将返回多于10条记录。
 
语法没错,可能是存在并列第十吧?是不是新闻日期同一天或没有精确到分秒?
 
建议先看看access和mssql的不同
 
确实有相同的记录,但是我想根据日期来选择最新的10个记录,怎么办?
 
日期字段必需是唯一索引。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部