【发布时间】:2022-01-19 00:22:40
【问题描述】:
我有桌子
CREATE TABLE tests.segments (`date` date, ClientID STRING(6), SegmentID int)
有数据
INSERT tests.segments VALUES ('2018-01-31' ,'A11111', 2), ('2018-02-28' ,'A11111', 2), ('2018-03-31' ,'A11111', 1), ('2018-04-30' ,'A11111', 1), ('2017-11-30' ,'B22222', 1), ('2017-10-31' ,'B22222', 1), ('2017-09-30' ,'B22222', 3), ('2017-09-30' ,'C33333', 1), ('2017-10-31' ,'C33333', 1)
我需要为 SegmentID 中的每个 ClientID 选择 DATE_DIFF 我知道如何为 ClientID 或 SegmentID 单独选择它
SELECT SegmentID, DATE_DIFF(DATE(MIN(date)), DATE(MAX(date)), DAY) as days_diff
FROM tests.segments
GROUP BY SegmentID
以及如何在没有 SQL 的情况下做到这一点 :) 请帮忙。
【问题讨论】:
-
你能给出这个输入表的示例输出吗?这样更容易理解。我可以帮你写查询
-
你能澄清一下“如何在没有 SQL 的情况下做到这一点”是什么意思吗?您是否正在寻找使用 Python Pandas 等的解决方案?同时提供预期输出的示例将非常有帮助。
-
@Regressor,谢谢!大声笑,这很简单,我工作过度了:D
-
@RiccoD,我的意思是,我知道如何用 R 解决它,但不知道如何用 SQL 来解决。感谢您的参与!
标签: sql google-bigquery datediff