postgresql 如何在SQL中按最近日期匹配并计算损耗?

8yoxcaq7  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(92)

给出了下表:

1.识别号
1.交易日期_时间
1.名义(其中“价值”〉0为买入类型的交易,“价值”〈0为卖出类型的交易。)
1.欧元兑美元汇率
有一张table:
| 识别号|日期时间|标称|欧元_美元|
| - ------|- ------|- ------|- ------|
| 1个|2021年1月1日10时10分10秒|一百|三、五|
| 第二章|2021年4月15日10时11分11秒|-350|二点四五|
| 三个|2021年5月18日18时15分41秒|三百五十|八点四五|
| 四个|2021年5月19日00:00:00| -790|三、五|
我有第二张table:
1.日期时间
1.实际汇率
有一张table:
| 日期时间|实际汇率|
| - ------|- ------|
| 2021年1月1日00:00:00|三、六|
| 2021年4月1日00:00:00| 2.0版|
| 2021年5月1日00:00:00|八点二十分|
| 2021年6月1日00:00:00|三个|
我需要得到前2个最差的交易。为此,我需要得到最近的日期匹配。如果我理解正确,那么我需要使用

where table1.Date_time >= table2.Date_time

然后我得到实际等价和名义等价的两列,然后我比较它们,显示前n个糟糕的交易。
问题是我知道如何在python中做,但我不知道如何在sql中做......。
你能给予我一个解决方案的建议或方向吗?

jhdbpxl9

jhdbpxl91#

你在找这个吗?

SELECT *, DATEDIFF(target_date, date_column) AS diff
FROM table_name
WHERE DATEDIFF(target_date, date_column) >= 0
ORDER BY diff ASC

相关问题