根据一段时间内每天关联次数大于一的关联的行数生成直方图

时间:2018-09-28 03:49:14

标签: sql postgresql

抱歉,标题令人困惑,但我不太知道如何用短语表达我要生成的查询,而我对如何执行查询感到困惑。假设我有一个表websites,其中有列iddomaincreated_at。我还有另一个表visitors,其中有列idwebsite_idcreated_at

我要确定的是一个月前创建的网站 ,并且在过去一个月中至少有一个访问者的网站,我可以按上个月有一个或多个访问者的天数对网站进行分组吗?

我实际上是在尝试生成一个直方图,其中过去一个月中至少有一位访客的x轴天数(因此它将为1-30),而表格中网站的y轴数至少有一位访客的天数。

以下是一些示例数据,其中包含我要收集的数据:

网站

╔════╤═══════════════════╤════════════╗
║ id │ domain            │ created_at ║
╠════╪═══════════════════╪════════════╣
║ 1  │ example.com       │ 9-28-2018  ║
╟────┼───────────────────┼────────────╢
║ 2  │ google.com        │ 1-1-2018   ║
╟────┼───────────────────┼────────────╢
║ 3  │ test.com          │ 2-1-2018   ║
╟────┼───────────────────┼────────────╢
║ 4  │ amazon.com        │ 3-1-2018   ║
╟────┼───────────────────┼────────────╢
║ 5  │ stackoverflow.com │ 1-2-2013   ║
╚════╧═══════════════════╧════════════╝

访问者

╔════╤════════════╤════════════════════════════╗
║ id │ website_id │ created_at                 ║
╠════╪════════════╪════════════════════════════╣
║ 1  │ 1          │ 2018-09-15 01:34:07.917448 ║
╟────┼────────────┼────────────────────────────╢
║ 2  │ 2          │ 2018-09-28T17:51:35+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 3  │ 2          │ 2018-09-28T17:50:35+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 4  │ 2          │ 2018-09-28T17:51:21+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 5  │ 2          │ 2017-11-15 01:34:07.917448 ║
╟────┼────────────┼────────────────────────────╢
║ 6  │ 3          │ 2018-09-14T17:50:08+50:00  ║
╟────┼────────────┼────────────────────────────╢
║ 7  │ 4          │ 2018-09-15T16:50:01+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 8  │ 4          │ 2018-09-15T16:50:09+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 9  │ 4          │ 2018-09-16T16:50:10+32:00  ║
╟────┼────────────┼────────────────────────────╢
║ 10 │ 4          │ 2018-09-04T09:50:09+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 11 │ 5          │ 2017-11-15 01:34:07.917448 ║
╟────┼────────────┼────────────────────────────╢
║ 12 │ 5          │ 2018-09-06T09:50:09+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 13 │ 5          │ 2018-09-07T09:50:07+12:00  ║
╟────┼────────────┼────────────────────────────╢
║ 14 │ 5          │ 2018-09-08T09:50:02+40:00  ║
╟────┼────────────┼────────────────────────────╢
║ 15 │ 5          │ 2018-09-09T09:50:19+23:00  ║
╟────┼────────────┼────────────────────────────╢
║ 16 │ 5          │ 2018-09-10T09:50:12+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 17 │ 5          │ 2018-09-10T09:50:06+00:00  ║
╟────┼────────────┼────────────────────────────╢
║ 18 │ 6          │ 2018-09-02T09:50:01+18:00  ║
╟────┼────────────┼────────────────────────────╢
║ 19 │ 6          │ 2018-09-03T09:50:02+47:00  ║
╟────┼────────────┼────────────────────────────╢
║ 20 │ 6          │ 2018-09-04T09:50:07+13:00  ║
╚════╧════════════╧════════════════════════════╝

输出

╔═════════════════════════════════════╤════════════════════╗
║ Number of Active Days in Last Month │ Number of Websites ║
╠═════════════════════════════════════╪════════════════════╣
║ 0                                   │ 0                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 1                                   │ 2                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 2                                   │ 0                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 3                                   │ 2                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 4                                   │ 0                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 5                                   │ 1                  ║
╟─────────────────────────────────────┼────────────────────╢
║ 6                                   │ 0                  ║
╚═════════════════════════════════════╧════════════════════╝

说明

  • 上个月没有一个网站没有访问者。
  • 网站2和3在过去的一个月中都有一天活跃。网站1也是如此,但是由于它也是在上个月内创建的,因此被排除在外。
  • 上个月没有网站有两天的活跃时间。
  • 网站4和6在过去的一个月中有3天处于活动状态。
  • 网站5的活动天为5天。
  • 上个月没有网站有超过6天的活跃时间。

0 个答案:

没有答案