从sql数据库中选择最新的3条记录

时间:2015-03-28 09:20:50

标签: c# sql-server-2008

我的表名为tblEvent,其列为EventIDNameDescriptionEventTypeIDTotalBudget,{{1} },CustomerIDEventStatus

我想选择最新的3条记录。

我试过这个:

EventDate

3 个答案:

答案 0 :(得分:2)

order by子句应该在where子句之后:

select top 3
  tblEvent.*,
  tblCustomer.Name as 'CustomerName',
  tblCustomer.Photo AS 'CustomerPhoto'
from
  tblEvent
where
  tblEvent.CustomerID = tblCustomer.CustomerID
order by
  EventID desc,
  tblCustomer

注意:如果EventID自动递增(主键,标识)并且记录实际按照它们发生的顺序创建,则该字段将随着时间的推移逐渐增加。否则,您需要使用EventDate字段进行排序(如Tareq Alothman建议的那样)。

答案 1 :(得分:1)

正如Guffa所说,Order By来自于你需要的地方 "按EventDate DESC排序"

答案 2 :(得分:0)

将您的SQL语句更改为

... ORDER DESC BY ...

这将按相反顺序排序,前三个现在是最后三个。