sql-server – 只获取每天TSQL中多个条目的最后一行
发布时间:2020-05-24 18:52:31 所属栏目:MsSql 来源:互联网
导读:我有一张桌子,类似于: Id Name EnteredOn Percentage`````````````````````````````````````````````````````````````01 person1 2011-03-09 17:29:35.683 56.2902
|
我有一张桌子,类似于: Id Name EnteredOn Percentage ````````````````````````````````````````````````````````````` 01 person1 2011-03-09 17:29:35.683 56.29 02 person1 2011-03-09 17:29:35.731 76.29 03 person1 2011-03-09 18:15:78.683 56.29 04 person1 2011-03-10 17:29:35.683 56.29 05 person1 2011-03-10 16:29:31.683 56.29 06 person1 2011-03-11 17:29:35.683 56.29 总结上表,第09天有三行,第10天有两行. 现在,我只想选择最新的行 – 每行一行. 由于时间戳,我不能使用distinct.我不能分组并使用: CAST(CONVERT(FLOAT,EnteredOn) AS INT) 因为当我选择EnteredOn字段时,它会抱怨它没有分组.我不能组合distinct(cast..date …),因为我无法获得正确的语法. 我如何选择 – 只有Name,EnteredOn,Percentage字段与每天不同? 提前谢谢了. 解决方法;with cte as
(
select
*,row_number() over(partition by datediff(d,EnteredOn) order by EnteredOn desc) as rn
from YourTable
)
select *
from cte
where rn = 1 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- sql-server-2005 – NHibernate elt字段
- sql-server-2008 – 何时使用非dbo模式与新数据库
- sql-server – 为什么在SQL Server 2012中设置空
- sql-server – Sql Server – 如何获取上次服务器
- sql – 如何在Linq中编写SELECT FROM myTable WH
- SQL Server 禁用触发器和启用触发器的语句
- SQL Server 返回SQL执行时间的存储过程
- sql-server – 写varchar和nvarchar之间的差异
- 深入了解Redis的性能
- sql-server – SQL Server中EXPLAIN表单SQLite的
热点阅读
