sách gpt4 ai đã đi

date - 在 Hive 中按周计数

In lại 作者:可可西里 更新时间:2023-11-01 16:44:03 25 4
mua khóa gpt4 Nike

我试图每周生成一组完全刷新的数字,从 hive 中的表中提取。现在我使用这种方法:

LỰA CHỌN
COUNT(DISTINCT case when timestamp between TO_DATE("2016-01-28") and TO_DATE("2016-01-30") then userid end) as week_1,
COUNT(DISTINCT case when timestamp between TO_DATE("2016-01-28") and TO_DATE("2016-02-06") then userid end) as week_2
FROM Data;

我正在尝试获得更多信息:

选择月(时间戳)、周(时间戳)、COUNT(不同的用户 ID)来自数据按月、周分组

但我的一周是从周日到周六。有没有更聪明的方法可以在 HIVE 中执行此操作?

找到的解决方案:

您可以简单地创建自己的公式,而不是使用“一年中的一周”的预定义函数优势:您将能够采取任何一组 7 天的一周。

在你的情况下,因为你希望一周应该从星期日到星期六开始,我们只需要一年中星期日的第一个日期

例如 - 在 2016 年,第一个星期日在“2016-01-03”,即 2016 年 1 月 3 日——假设考虑格式为“yyyy-mm-dd”的时间戳列

LỰA CHỌN
count(distinct UserId), lower(datediff(timestamp,'2016-01-03') / 7) + 1 as week_of_the_year
FROM table.data
where timestamp>='2016-01-03'
group by lower(datediff(timestamp,'2016-01-03') / 7) + 1;

1 Câu trả lời

我看到您需要按周对数据进行分组。你可以这样做:

SELECT weekofyear(to_date(timestamp)), COUNT (DISTINCT userid) FROM Data Group By weekofyear(to_date(timestamp))

关于date - 在 Hive 中按周计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38061177/

25 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com