作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
正如标题所述,我想将同一列中的两个值相除。例如
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 - 如何在SQL中将同一列的两个值相除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15400442/
我是一名优秀的程序员,十分优秀!