小编Bar*_*kCh的帖子

计算系列中每个日期有多少日期范围的最快方法

我有一个看起来像这样的表(在 PostgreSQL 9.4 中):

CREATE TABLE dates_ranges (kind int, start_date date, end_date date);
INSERT INTO dates_ranges VALUES 
    (1, '2018-01-01', '2018-01-31'),
    (1, '2018-01-01', '2018-01-05'),
    (1, '2018-01-03', '2018-01-06'),
    (2, '2018-01-01', '2018-01-01'),
    (2, '2018-01-01', '2018-01-02'),
    (3, '2018-01-02', '2018-01-08'),
    (3, '2018-01-05', '2018-01-10');
Run Code Online (Sandbox Code Playgroud)

现在我想计算给定日期和每种类型,计算dates_ranges每个日期有多少行。零可以省略。

想要的结果:

+-------+------------+----+
|  kind | as_of_date |  n |
+-------+------------+----+
|     1 | 2018-01-01 |  2 |
|     1 | 2018-01-02 |  2 |
|     1 | 2018-01-03 |  3 |
|     2 | 2018-01-01 |  2 |
| …
Run Code Online (Sandbox Code Playgroud)

postgresql join functions postgresql-9.4

12
推荐指数
2
解决办法
3555
查看次数

标签 统计

functions ×1

join ×1

postgresql ×1

postgresql-9.4 ×1