【发布时间】:2017-10-11 13:42:55
【问题描述】:
考虑一个有 11 列的有序表:timespan, val1, val2, val3, val4, val5, val6, val7, val8, val9 and val10
假设一组记录如下:
timespan val1 val2 val3 val4 val5 val6 val7 val8 val9 val10
10/09/2011 0 0 60 80 40 0 0 40 80 0
10/10/2011 0 10 90 30 70 50 50 70 30 90
10/11/2011 10 0 20 0 0 60 60 0 0 20
我需要一个 SQL 查询(对于 SQL Server 2012),它返回所有列 val1、val2、... 的最后一个(及时)非零值,即
val1 val2 val3 val4 val5 val6 val7 val8 val9 val10
10 10 20 30 70 60 60 70 30 20
可以在Subquery: how to retrieve the last non-zero value from a column? 找到类似的问题,但它仅适用于一列,并且包含更多列的概括(如本例)似乎不切实际。
【问题讨论】:
标签: sql sql-server tsql sql-server-2012