设计一个数据库来容纳一维数据

时间:2020-06-08 19:52:14

标签: sql

我在一个csv文件中有一个用于不同交易所的交易日期的数据集。将它们存储在数据库中的最佳方法是什么?数据集看起来像这样...

US,DE,JP

20040102,20040102,20040102

20040105,20040105,20040105

20040106,20040106,20040106

...

20210608,20210524,20210715

20210609,20210525,20210716

...

基本上,每个国家/地区都有一列其证券交易所开放的日期。创建完此表后,我想查询它以返回特定交易所两个日期之间的交易日数。例如,在“美国”中,2020年5月29日至2020年6月19日之间的交易日数为15。

构建表的最有效方法是什么,我将使用哪种查询来获取两个日期之间的交易日数。

谢谢

1 个答案:

答案 0 :(得分:0)

使用一个包含两列的表。一栏代表国家(代码),另一栏代表一天。像这样:

CREATE TABLE trading_days
             (country varchar(2),
              day date,
              UNIQUE (country,
                      day));

(数据类型可能会因所使用的DBMS的不同而有所不同,而您并没有具体说明。)

查询以获取某个时期内某个国家/地区的交易日数的查询可能类似于:

SELECT count(*)
       FROM trading_days
       WHERE day >= <lower bound of period>
             AND day < <upper bound of period plus one day>
             AND country = <country code>;
相关问题