首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于多准则的海量数据库采样

基于多准则的海量数据库采样
EN

Stack Overflow用户
提问于 2022-10-16 09:39:25
回答 1查看 37关注 0票数 0

我想通过以下条件从数据库表中取样:我的示例应该在每天每小时从特定类别列中至少有100个样本。下表如下:

代码语言:javascript
复制
id recieved_time    catgory
1  2022-08-01 4:05   blue
1  2022-08-01 5:05   red
1  2022-08-01 7:05   red
...

有人能帮我写一个高效的sql查询吗?(顺便说一句,如果这有帮助的话,我正在使用clickhouse )

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-17 01:56:27

如果您只希望每类随机抽样100个,请尝试不按条件订购的ROW_NUMBER()

代码语言:javascript
复制
SELECT
  *
FROM
  (
  SELECT
    *,
    ROW_NUMBER() OVER (
      PARTITION BY
        category,
        DATE_TRUNC('hour', received_time)
      ORDER BY
        (SELECT NULL) -- change if you care
    ) AS category_rownumber
  FROM
    TableName
  ) X
WHERE
  category_rownumber <= 100
ORDER BY
  category,
  received_time DESC
;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74086031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档