Mysql SQL来获取同一列中不同日期的值的差异
如何获得特定日期特定列的值与上一日期相同列的值之间的差异Mysql SQL来获取同一列中不同日期的值的差异,mysql,sql,oracle-sqldeveloper,Mysql,Sql,Oracle Sqldeveloper,如何获得特定日期特定列的值与上一日期相同列的值之间的差异 Current Table: Date Qty 8-Jan-17 100 9-Jan-17 120 10-Jan-17 180 Desired Output: Date Diff Qty 9-Jan-17 20 10-Jan-17 60 假设日期不重复,并且两者之间也没有间隔,这将起作用 --Sample data as provided. Th
Current Table:
Date Qty
8-Jan-17 100
9-Jan-17 120
10-Jan-17 180
Desired Output:
Date Diff Qty
9-Jan-17 20
10-Jan-17 60
假设日期不重复,并且两者之间也没有间隔,这将起作用
--Sample data as provided. This script works in SQL Server 2005+
CREATE TABLE #Table1
([Date] datetime, [Qty] int)
;
INSERT INTO #Table1
([Date], [Qty])
VALUES
('2017-01-08 00:00:00', 100),
('2017-01-09 00:00:00', 120),
('2017-01-10 00:00:00', 180)
;
--This script is plain SQL for any DMBS
select y.Date, y.Qty-x.Qty as 'Diff Qty'
from #table1 x inner join #Table1 y
on x.Date+1=y.Date
结果
+-------------------------+----------+
| Date | Diff Qty |
+-------------------------+----------+
| 2017-01-09 00:00:00.000 | 20 |
| 2017-01-10 00:00:00.000 | 60 |
+-------------------------+----------+
假设日期不重复,并且两者之间也没有间隔,这将起作用
--Sample data as provided. This script works in SQL Server 2005+
CREATE TABLE #Table1
([Date] datetime, [Qty] int)
;
INSERT INTO #Table1
([Date], [Qty])
VALUES
('2017-01-08 00:00:00', 100),
('2017-01-09 00:00:00', 120),
('2017-01-10 00:00:00', 180)
;
--This script is plain SQL for any DMBS
select y.Date, y.Qty-x.Qty as 'Diff Qty'
from #table1 x inner join #Table1 y
on x.Date+1=y.Date
结果
+-------------------------+----------+
| Date | Diff Qty |
+-------------------------+----------+
| 2017-01-09 00:00:00.000 | 20 |
| 2017-01-10 00:00:00.000 | 60 |
+-------------------------+----------+
你到底在使用哪种数据库管理系统?你有身份栏吗?你的约会总是连续的吗?没有重复也没有遗漏日期?您使用的是哪种DBMS?你有身份栏吗?你的约会总是连续的吗?没有重复也没有错过的一天?