如何在 SQL Server SELECT 语句中获取以前的值

Kemiko Setiawan

我有一张这样的桌子

我想添加一个名为“昨天金额的列,其中值是前一天的金额和相同的 Account_No。例如,在 ACCOUNT_NO = 1 中,日期为 2014 年 3 月 24 日,昨天金额列的值为 100。此问题有解决方案吗?

缺口

更新

正如@BenThul 指出的那样,LAG有一个可选的默认值,可用于消除使用的需要COALESCE

SELECT ACCOUNT_NO,
       [Date],
       Amount,
       LAG(Amount, 1, 0) OVER(PARTITION BY ACCOUNT_NO ORDER BY [Date]) AS "Yesterday Amount"
FROM test

dbfiddle 上的演示

原答案

您可以使用LAG, withCOALESCENULL值转换为 0(前一天不存在值时):

SELECT ACCOUNT_NO,
       [Date],
       Amount,
       COALESCE(LAG(Amount) OVER(PARTITION BY ACCOUNT_NO ORDER BY [Date]), 0) AS "Yesterday Amount"
FROM test

输出:

ACCOUNT_NO  Date                    Amount  Yesterday Amount
1           23/03/2014 00:00:00     100     0
1           24/03/2014 00:00:00     200     100
1           25/03/2014 00:00:00     50      200
2           23/03/2014 00:00:00     1111    0
3           24/03/2014 00:00:00     1200    0
3           25/03/2014 00:00:00     1300    1200

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取在SQL Server SELECT语句中从右到左排列的数字

来自分类Dev

如何在Sql中的select语句中替换列值?

来自分类Dev

如何在Sql中的select语句中替换列值?

来自分类Dev

我如何xPath到SQL Server中的select语句中的值?

来自分类Dev

SQL Server-从Select语句中的前几行获取数据

来自分类Dev

如何在SQL Server中的存储过程中获取select语句的行数

来自分类Dev

SQL Server SELECT语句-如何获取所需的信息

来自分类Dev

SQL Server SELECT语句-如何获取所需的信息

来自分类Dev

如何在SQL Server 2008 R2中的select语句中访问上一条记录?

来自分类Dev

如何在SQL Server中的select语句中的列以外的XML路径的Stuff中添加按子句排序

来自分类Dev

如何在sql select语句中为每个id选择最大值?

来自分类Dev

如何在sql select语句中为每个id选择最大值?

来自分类Dev

SQL Server:如何在insert语句中使用if语句

来自分类Dev

如何在SQL语句的Select子句中引用子查询

来自分类Dev

如何在SQL SELECT语句中捕获今年

来自分类Dev

如何在SQL select语句中动态增加值

来自分类Dev

如何在 SQL select 语句中显示日期 - 月份?

来自分类Dev

基于日值的SELECT语句SQL SERVER

来自分类Dev

如何在SQL Server中将select语句结果转换为HTML表?

来自分类Dev

如何在SQL Server 2008 R2中的select语句内编写条件

来自分类Dev

如何在SQL Server中合并两个不同的select语句的结果集

来自分类Dev

sql server select语句中的正则表达式

来自分类Dev

SQL Server:在SELECT语句中拆分字符串

来自分类Dev

sql server中select语句中的表名变量

来自分类Dev

IndexOutOfRangeException:SQL Server select语句中的field_name

来自分类Dev

Sql Server 使用 CONTAINS 函数作为 select 语句中的列

来自分类Dev

SQL SERVER Select语句-如何为IF语句选择值之一

来自分类Dev

在SQL Select语句中读取XML值

来自分类Dev

在SQL Select语句中读取XML值

Related 相关文章

  1. 1

    如何获取在SQL Server SELECT语句中从右到左排列的数字

  2. 2

    如何在Sql中的select语句中替换列值?

  3. 3

    如何在Sql中的select语句中替换列值?

  4. 4

    我如何xPath到SQL Server中的select语句中的值?

  5. 5

    SQL Server-从Select语句中的前几行获取数据

  6. 6

    如何在SQL Server中的存储过程中获取select语句的行数

  7. 7

    SQL Server SELECT语句-如何获取所需的信息

  8. 8

    SQL Server SELECT语句-如何获取所需的信息

  9. 9

    如何在SQL Server 2008 R2中的select语句中访问上一条记录?

  10. 10

    如何在SQL Server中的select语句中的列以外的XML路径的Stuff中添加按子句排序

  11. 11

    如何在sql select语句中为每个id选择最大值?

  12. 12

    如何在sql select语句中为每个id选择最大值?

  13. 13

    SQL Server:如何在insert语句中使用if语句

  14. 14

    如何在SQL语句的Select子句中引用子查询

  15. 15

    如何在SQL SELECT语句中捕获今年

  16. 16

    如何在SQL select语句中动态增加值

  17. 17

    如何在 SQL select 语句中显示日期 - 月份?

  18. 18

    基于日值的SELECT语句SQL SERVER

  19. 19

    如何在SQL Server中将select语句结果转换为HTML表?

  20. 20

    如何在SQL Server 2008 R2中的select语句内编写条件

  21. 21

    如何在SQL Server中合并两个不同的select语句的结果集

  22. 22

    sql server select语句中的正则表达式

  23. 23

    SQL Server:在SELECT语句中拆分字符串

  24. 24

    sql server中select语句中的表名变量

  25. 25

    IndexOutOfRangeException:SQL Server select语句中的field_name

  26. 26

    Sql Server 使用 CONTAINS 函数作为 select 语句中的列

  27. 27

    SQL SERVER Select语句-如何为IF语句选择值之一

  28. 28

    在SQL Select语句中读取XML值

  29. 29

    在SQL Select语句中读取XML值

热门标签

归档