2

我有一个包含许多表的数据集。我必须完成一个所有表格都需要相同尺寸(大小)的过程。

我必须在 2 个场景中创建子集:

1-基于时间戳(yyyy-mm-dd hour:min:sec)创建子集(timestamps列数据类型为varchar):

1.1。我需要一个子集指的是一个特定的时间段:从2004-08-12到2004-09-02

1.2. 根据时间从上述子集创建子集:从 8:00:00 到 20:00:00

2-根据记录数创建子集:要求前 10000 条数据记录。

此外,我正在使用 R 软件并同时应用 RPostgreSQL 包。所以我可以同时使用 Sql 和 R 命令。

4

1 回答 1

1

据我所知,您描述的是一个相当简单的查询:

SELECT  *
FROM the_table
WHERE tscolumn::timestamptz BETWEEN DATE '2004-08-12' AND DATE '2004-09-02' 
  AND extract(hour FROM tscolumn::timestamptz) BETWEEN 8 AND 20
ORDER BY tscolumn;
LIMIT 10000;

要使用 a 获得合理的行选择,LIMIT您需要一个ORDER BY.

参见手册extract

text但是,将时间戳存储在orvarchar列中是很奇怪的。为什么要这么做?

于 2012-10-16T11:52:17.860 回答