sql-server - 获取 ms sql 中每一行的一个月前数据
问题描述
如果有人能解决我的问题,这是我谦虚的要求。这将不胜感激。
问题:我有一张包含 id、日期和金额的表格。我想在加入同一张表的另一列中获取相同 id 的一个月前数据,并且一个月前的日期也应该显示在另一列中。实际数据和结果也如下所示。
create table my_table
(
id int,
a_date date,
amount money
)
insert into my_table values (1,'12-31-2020','100')
insert into my_table values (2,'12-31-2020','110')
insert into my_table values (1,'10-31-2020','120')
insert into my_table values (2,'10-31-2020','130')
insert into my_table values (1,'1-31-2021','140')
insert into My_table values (2,'1-31-2021','150')
id a_date amount
1 2020-12-31 100.00
1 2020-10-31 120.00
1 2021-01-31 140.00
2 2021-01-31 150.00
2 2020-10-31 130.00
2 2020-12-31 110.00
答案应该是这样的:
id a_date amount a_date_b amount_b
1 2020-12-31 100.00 2020-11-30 120.00
1 2020-11-30 120.00 2020-10-31 0.00
1 2021-01-31 140.00 2020-12-31 100.00
2 2021-01-31 150.00 2020-12-31 110.00
2 2020-11-30 130.00 2020-10-31 0.00
2 2020-12-31 110.00 2020-11-30 130.00
预先感谢您的支持和帮助。
解决方案
推荐阅读
- sql - 获取记录需要很长时间
- google-api - 谷歌云视觉无法检测到一个字符
- selenium - 如何使用 selenium webdriver 处理出现在加载页面中间的证书弹出窗口
- regex - vim regex removing all words that contain a certain character that will be at the end of the word
- c# - 当我们切换缩放比例时,AutoScale Factor 没有正确更新
- node.js - 尽管 MongoDB 中存在集合,但 Mongoose 显示空对象
- javascript - 谷歌分析是否有任何字段可用于 eventID 和 eventURL
- android - how to fetch data from parse database and use it in different function
- c# - Get requests in WCF without method name
- email - 使用自定义表单在产品页面上以编程方式发送电子邮件和创建订单