我有一张桌子,类似于:
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
总结上表,有three一天的行数09, and two一天的行数10.
现在,我只想选择最新的一行 -单行- 每天。
(一排为 9 个,一排为 10 个,一排为 11 个)
由于时间戳的原因,我无法使用不同的。我无法分组和使用:
CAST(CONVERT(FLOAT, EnteredOn) AS INT)
因为当我选择 EnteredOn 字段时,它抱怨它没有分组。我无法结合distinct(cast..date...)
因为我无法获得正确的语法。
我该如何选择 - 仅限姓名、进入时间、百分比每天都有不同的领域?
提前谢谢了。
;with cte as
(
select
*,
row_number() over(partition by datediff(d, 0, EnteredOn) order by EnteredOn desc) as rn
from YourTable
)
select *
from cte
where rn = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)