【问题标题】:How to SELECT the last distinct record in SQL SERVER如何在 SQL SERVER 中选择最后一条不同的记录
【发布时间】:2013-06-27 14:21:55
【问题描述】:

所以,我有这张桌子:

|  COD   | |   ID   |  |BALANCE|   |         DATE          |

 20002978   34134987      2,1       2012-10-20 00:00:00.000
 20002978   34134987      2,1       2012-10-30 00:00:00.000
 20002978   34134987      10,1      2012-12-05 00:00:00.000
 20002978   34134987      8,1       2012-12-22 00:00:00.000
 20002978   34134987      9,1       2013-01-16 00:00:00.000
 20002978   34134987      23,1      2013-01-19 00:00:00.000
 20002978   34134987      7,1       2013-01-29 00:00:00.000
 20002978   34134987      3,1       2013-02-02 00:00:00.000
 80125573   34134987      13,1      2013-02-22 00:00:00.000
 80125573   34134987      1,0       2013-03-08 00:00:00.000

我想选择最后一个代码的最后一个余额,其中 ID 是我将传递给过程的参数。

我需要这样的结果:

ID = 34134987

|  COD   | |   ID   |  |BALANCE|   |         DATE          |
 20002978   34134987      3,1       2013-02-02 00:00:00.000
 80125573   34134987      1,0       2013-03-08 00:00:00.000

有什么建议吗?提前致谢。

【问题讨论】:

    标签: sql-server tsql select


    【解决方案1】:

    试试这样.....

    Select  Cod,Id,Balance,[Date] from (
    Select Row_Number() Over(Partition By Cod,Id Order By [Date] desc) as Row, Cod,Id,Balance,Date
    from table) t where t.Row=1
    

    【讨论】:

    • 它就像一个魅力!谢谢你。你为我节省了很多工作。
    猜你喜欢
    • 2011-07-08
    • 2011-08-30
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多