如何选择具有指定ID和最新日期的前(5)行?

时间:2015-07-07 08:30:12

标签: sql sql-server datetime

表格如下:

<button onclick="Delete();">Delete</button>

4 个答案:

答案 0 :(得分:2)

您可以使用限制或顶部
试试这个

    SELECT TOP 5 * FROM yourTablename order by DateOld_ desc,Id_P desc;

所有SQL数据库都不支持SELECT LIMIT 。但是,您可以使用上面的SQL Server或MSAccess查询以及以下查询专门用于mysql。

    SELECT *
    FROM yourTablename
    order by DateOld_ desc LIMIT 5  ;

您还可以访问此链接http://www.w3schools.com/sql/sql_top.asp

答案 1 :(得分:1)

使用order by子句

select top 5 * 
from table1 
where Id_P in (1,2,3,4,5)
order by DateOld_;

答案 2 :(得分:1)

LIMIT是最好的方式。

使用它像:

SELECT * 
FROM TABLE_NAME
LIMIT 5

答案 3 :(得分:0)

由于您的DateOld_字段属于ntext类型,因此您无法对其进行order by。要根据该列对结果进行排序,您需要将值转换为datetime格式。

您可以执行以下查询以获取id_utente = 134的5行,并按时间按降序排序:

select top 5 * from table1 
   where id_utente = 134 
   order by convert(datetime, convert(varchar, dateold_)) desc;

SQLFiddle Example