gpt4 book ai didi

python - 如何对字段值的每个给定增量进行 GROUP BY?

转载 作者:行者123 更新时间:2023-12-01 00:00:48 25 4
gpt4 key购买 nike

我有一个Python应用程序。它有一个 SQLite 数据库,其中包含由 Web scraper 从 Web 检索的有关所发生事件的数据。该数据包括时间-日期组,作为 Unix 时间戳,位于为其保留的列中。我想检索执行某项操作的组织的名称并计算他们执行这些操作的频率,但要每周执行此操作(即 604,800 秒),我有数据。

伪代码:

for each 604800-second increment in time:
select count(time), org from table group by org

本质上,我想做的是像按时间列排序的列表一样迭代数据库,步长值为 604800。目的是分析不同组织在总数中的分布随时间的变化情况。

如果可能的话,我希望避免从数据库中提取所有行并在 Python 中处理它们,因为这似乎 a) 效率低下,b) 考虑到数据位于数据库中,这可能毫无意义。

最佳答案

不熟悉 SQLite,我认为这种方法应该适用于大多数数据库,因为它找到周数并减去偏移量

SELECT org, ROUND(time/604800) - week_offset, COUNT(*)
FROM table
GROUP BY org, ROUND(time/604800) - week_offset

在 Oracle 中,如果时间是日期列,我将使用以下内容:

SELECT org, TO_CHAR(time, 'YYYY-IW'), COUNT(*)
FROM table
GROUP BY org, TO_CHAR(time, 'YYYY-IW')

SQLite 可能具有类似的功能,允许这种更容易查看的 SELECT。

关于python - 如何对字段值的每个给定增量进行 GROUP BY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/859489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com