【问题标题】:Can't build click house query无法建立点击房屋查询
【发布时间】:2018-09-07 16:27:51
【问题描述】:

我有一个这样的 click house 表:

page_id  ad_id   date  
-------|-------|------------|
1      | 10    | 04/03/2009 |
1      | 2     | 04/03/2009 |
1      | 2     | 04/03/2009 |
1      | 4     | 04/03/2009 |
1      | 2     | 04/03/2009 |
2      | 1     | 04/03/2009 |
2      | 5     | 04/03/2009 |
3      | 2     | 04/03/2009 |
3      | 2     | 04/03/2009 |
3      | 2     | 04/03/2009 |
3      | 8     | 04/03/2009 |
4      | 1     | 04/03/2009 |
4      | 1     | 04/03/2009 |
5      | 2     | 04/03/2009 |

此表包含不同页面上不同广告块的点击历史记录。只是一个大日志。我想获得每个页面点击次数最多的广告。类似的东西

page_id  ad_id   hits  
-------|-------|------------|
1      | 2     | 3          |
2      | 1     | 1          |
3      | 2     | 3          |
4      | 1     | 2          |
5      | 2     | 1          |

希望有人可以帮助我。谢谢。

【问题讨论】:

  • 到目前为止您尝试了什么,您使用的是什么数据库?

标签: database clickhouse


【解决方案1】:

还有一种近似计算的解决方案可以给出不完全准确的结果,但很快(可以通过子查询计算命中数)

SELECT page_id, topK(1)(ad_id) ad_id
FROM table_name
GROUP BY page_id

【讨论】:

    【解决方案2】:

    试试这个:

    SELECT page_id, ad_id, count() cnt
    FROM TABLE_NAME
    GROUP BY page_id, ad_id
    ORDER BY page_id, cnt DESC
    LIMIT 1 BY page_id
    

    Link to doc

    【讨论】:

      猜你喜欢
      • 2022-01-03
      • 2020-01-20
      • 2020-11-10
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多