使用日期对sql server中的记录进行排序(从表中获取“n”个最新添加的记录)

时间:2012-10-05 03:53:31

标签: sql sql-server tsql sql-order-by

我有一个包含项目列表的表格。我从UI添加记录(asp.net网页) 当我添加记录时,我还在每个记录的列中添加“创建日期”。 现在我想获取5个最新项目的列表,具体取决于日期。查询是什么? my Created_date列的格式为:2012-09-21

2 个答案:

答案 0 :(得分:1)

select top 5 [columns] from table_name order by Created_date [desc]

order by Created_date默认按升序排序(最早的第一个),如果您想要最新的,请使用order by Created_date desc

答案 1 :(得分:1)

  

现在我想获取5个最新项目的列表,具体取决于   日期。

所以你真的希望他们处于DESCending顺序。

  select top(5) *
    from tbl
order by created_date desc
  

我的Created_date列包含以下格式的条目:2012-09-21

您可能认为,但数据库中DATETIME字段的条目是8字节结构,而不是某些格式化的字符串表示。除非那是一个varchar列,否则你将来会遇到一些痛苦。至少订购仍然有效,因为您使用的是可排序格式(yyyy-mm-dd)。