gpt4 book ai didi

sql - 如何在SQL中将同一列的两个值相除

转载 作者:行者123 更新时间:2023-12-02 16:27:46 27 4
gpt4 key购买 nike

正如标题所述,我想将同一列中的两个值相除。例如

    A             B              C            D
Shirts 2011 85 0
Shirts 2012 92 percent change from 2011 to 2012
Shirts 2013 100 percent change from 2012 to 2013
Pants 2011 31 0
Pants 2012 42 percent change from 2011 to 2012
Pants 2013 55 percent change from 2012 to 2013
Jacket 2011 10 0
Jacket 2012 16 percent change from 2011 to 2012
Jacket 2013 18 percent change from 2012 to 2013

在此示例中,D 列将派生自 C 列,其中从 2011 年减去 2012 年的值,然后乘以 100 以获得百分比。

我不知道如何设置查询,我尝试执行一堆子查询,但不知道如何将它们链接在一起。任何帮助将不胜感激。

最佳答案

这里有一个选项可以满足您的需求

SELECT t1.a, t1.b, t1.c,
CASE WHEN t2.c IS NULL THEN 0 ELSE t1.c - t2.c END AS d,
CASE WHEN t2.c IS NULL THEN 0 ELSE (1.0 * t1.c - t2.c) / t1.c * 100.0 END AS pct
FROM t t1
LEFT OUTER JOIN t t2 ON t1.a = t2.a
AND t1.b = t2.b + 1

SQL Fiddle Example

关于sql - 如何在SQL中将同一列的两个值相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15400442/

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