Joh*_*nnB 1 sql sql-server performance sql-server-2016
我有一个表 (SROEnquiry),如下面的快照所示:Data.jpg
我正在使用Last_Value()获取表上每个 StudentNumberstudent 的最后一个条目。StudentNumber 'Y1293926' 用作示例。
脚本如下:
SELECT DISTINCT(StudentNumber),
LAST_VALUE(Arrears) OVER
(PARTITION BY StudentNumber ORDER BY RecordID) AS LastValue
FROM SROEnquiry
WHERE StudentNumber = 'Y1293926'
Run Code Online (Sandbox Code Playgroud)
结果如下:
预期的结果是:
StudentNumber LastValue
Y1293926 0.00
Run Code Online (Sandbox Code Playgroud)
它带回 4 个值而不是一个值的脚本有什么问题?
您需要使用以下命令指定正确的框架LAST_VALUE:
SELECT DISTINCT
StudentNumber,
LAST_VALUE(Arrears) OVER (PARTITION BY StudentNumber ORDER BY RecordID
ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) AS LastValue
FROM SROEnquiry
WHERE StudentNumber = 'Y1293926'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |