我有以下以下我有三个记录在DriverID“134”我想第二个最后的数据这个人怎么帮助我如何获得第二个最后的数据 和 你能否请帮助我如何从我的表排序每秒最后的记录混帐的数据不止一个driverid 如何从driverid获得第二个最后的记录SQL服务器
0
A
回答
2
使用Row_Number()
窗口功能
With cte as
(
select *,Row_Number()over(order by Transdate desc) as Rn from yourtable
Where DriverID = 134
)
Select *
from cte
Where Rn = 2
要处理的时候,只有一个纪录为给DriverID
然后使用这个
With cte as
(
select *,Row_Number()over(order by Transdate desc) as Rn,
count(1)over() as cnt from yourtable
Where DriverID = 134
)
Select *
from cte
Where (Rn = 2 and cnt > 1) or (Rn = 1 and cnt = 1)
注:如果在最后一秒记录领带和你想同时记录然后使用DENSE_RANK
代替ROW_NUMBER
更新:
要查找的倒数第二个记录为全部DriverID's
在Row_number
中添加分区并从Where
子句中删除DriverID
子句
With cte as
(
select *,Row_Number()over(Partition by DriverID order by Transdate desc) as Rn,
count(1)over(Partition by DriverID) as cnt from yourtable
)
Select *
from cte
Where (Rn = 2 and cnt > 1) or (Rn = 1 and cnt = 1)
0
SELECT * FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY key DEC) AS rownumber,
columns
FROM tablename
) AS foo
WHERE rownumber <= 2
相关问题
- 1. 如何获得最后一个记录上第二个三联接在SQL
- 2. 如何获得第一个记录和最后一个记录
- 3. 第二个最后记录
- 4. Mongoid - 如何获得第二个记录?
- 5. 如何获得第二个记录起
- 6. 从第二张表中获得最后一条记录
- 7. SQL服务器获得最高纪录
- 8. 如何获得linq的第二条记录到sql
- 9. 如何从配置单元中的记录获取第二个最后日期?
- 10. Laravel雄辩如何获得第二或第三个记录?
- 11. 如何获得最后的记录?
- 12. 如何从XML获得SQL服务器
- 13. SQL - 如何从联合表中获取第一个和最后一个记录?
- 14. 如何从sql查询中获取第一个和最后一个记录?
- 15. 如何返回SQL中的第二个最新记录?
- 16. 如何获得最后10条记录
- 17. 在SQL中每组获得倒数第二个记录
- 18. 如何使用WSO2 DSS从mongodb获得第二条记录?
- 19. 获得最后一个记录的freemarker
- 20. 的MySQL获得最后一个记录
- 21. 如何将SPF记录调整到第二台SMTP服务器?
- 22. 如何获取DB的第一个和最后一个记录
- 23. CMake - 如何获取目录名称中的第二个最后?
- 24. 如何在插入记录后从SQL服务器获取标识值
- 25. 每月获得最后一个记录
- 26. 如何获得每个主记录的最后2个细节?
- 27. 如何从哈希中获得最高的第二个值
- 28. SQL服务器获得最大
- 29. 如何获取Web服务中最后插入的记录ID
- 30. SQL获取第二笔记录
你是比我快... +1但是:你可以使用<= 2搭上情况下,只有一个记录......(取决于课程的现实需要) 。 – Shnugo
@Shnugo - 是的,你是对的。相应地更新了答案。我们不能使用<= 2,因为它会拉动两条记录,当你有超过1条记录给定'DriverID' –
你能帮我怎么从我的表中填充数据每秒排序最后一条记录多一个driverid –