python数据按照分组进行频率分布_如何根据字段值的每个给定增量分组?

要以基于集合的方式(这是SQL擅长的)来实现这一点,您需要一个基于集合的时间增量表示。它可以是临时表、永久表或派生表(即子查询)。我对SQLite不太熟悉,而且我已经有一段时间没有使用UNIX了。UNIX中的时间戳是从某个设置的日期/时间开始的#秒?使用一个标准的日历表(在数据库中有这样的表很有用)。。。在SELECT

C1.start_time,

C2.end_time,

T.org,

COUNT(time)

FROM

Calendar C1

INNER JOIN Calendar C2 ON

C2.start_time = DATEADD(dy, 6, C1.start_time)

INNER JOIN My_Table T ON

T.time BETWEEN C1.start_time AND C2.end_time You'll need to convert to timestamp here

WHERE

DATEPART(dw, C1.start_time) = 1 AND Basically, only get dates that are a Sunday or whatever other day starts your intervals

C1.start_time BETWEEN @start_range_date AND @end_range_date Period for which you're running the report

GROUP BY

C1.start_time,

C2.end_time,

T.org

日历表可以采用任何形式,因此可以在其中使用UNIX时间戳来表示开始时间和结束时间。您只需预先填充您可能想要使用的任何可能范围内的所有日期。即使从1900-01-01到9999-12-31也不会是一张非常大的桌子。对于许多报告类型的查询,它可以派上用场。在

最后,这段代码是T-SQL,因此您可能需要将DATEPART和DATEADD转换为SQLite中的等效代码。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值