【发布时间】:2021-09-24 14:52:51
【问题描述】:
我在 PostgreSQL 中有一个表,我想在其中选择任何新的“ticker”值,这些值不在之前的“trade_date”表中。
以下查询需要 1 分钟才能运行,并且该表包含大约 56k 行:
SELECT DISTINCT a.trade_date, a.ticker, a.company_name
FROM t_ark_holdings a
WHERE a.ticker NOT IN (
SELECT b.ticker FROM t_ark_holdings b WHERE b.trade_date <a.trade_date
)
ORDER BY a.trade_date DESC, a.ticker, a.company_name
我想知道一些事情:
- 这是编写 SQL 查询的有效方法吗
- 我是否应该将“trade_date”和“ticker”的索引添加到表结构中
- 切换到 pandas 是否会有所帮助,因为表格会随着时间的推移而变大 谢谢
例如,在 21 年 9 月 17 日,有一些代码(以红色突出显示)在前几天
没有出现在表格中【问题讨论】:
-
我不明白那个子查询的目的。它在做你期望的事情吗?
标签: sql python-3.x pandas postgresql subquery