gpt4 book ai didi

SQL - 如何显示多行结果之间的差异

转载 作者:行者123 更新时间:2023-12-04 22:33:13 26 4
gpt4 key购买 nike

我有一个 SQL 2012 查询,它给了我以下结果:

IP_Country  ds          Percentage
-------------------------------------
Australia 01/01/2013 0.70155
Australia 02/01/2013 0.685
Australia 03/01/2013 0.663594
Australia 04/01/2013 0.737541
Australia 05/01/2013 0.688212
Australia 06/01/2013 0.665384
Australia 07/01/2013 0.620253
Australia 08/01/2013 0.697183

结果继续显示相同日期和不同百分比的不同国家/地区。

我需要展示的是,这些百分比在同一国家/地区的日期之间的变化。

所以在 02/01 和 01/01 之间的差异是 0.02 - 我可以提取数据并在 excel 中执行此操作,但理想情况下我希望结果随着查询中的移动而出现。

最佳答案

您可以使用 LAGLEAD访问上一行和下一行。

SELECT *,
LAG([Percentage]) OVER (PARTITION BY [IP_Country] ORDER BY [ds])
- [Percentage] AS diff,
([Percentage] - LEAD([Percentage]) OVER (PARTITION BY [IP_Country] ORDER BY [ds]))
/ [Percentage] AS [ratio]
FROM YourTable

SQL Fiddle

关于SQL - 如何显示多行结果之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com