Sql bigquery中基于id和时间的数据分组
我正在做一个查询,可以根据ID和时间聚合数据。我已经成功地根据ID聚合了数据,但是当我添加时间时,查询无法识别时间列 示例代码:Sql bigquery中基于id和时间的数据分组,sql,google-bigquery,Sql,Google Bigquery,我正在做一个查询,可以根据ID和时间聚合数据。我已经成功地根据ID聚合了数据,但是当我添加时间时,查询无法识别时间列 示例代码: SELECT DATE(Request_Timestamp) as Date, ID, SUM(CASE WHEN Language = 'EN' THEN 1 ELSE 0 END) AS lang_EN, SUM(CASE WHEN Language = 'SN' THEN 1 ELSE 0 END) AS lang_SN, FROM (
SELECT
DATE(Request_Timestamp) as Date,
ID,
SUM(CASE WHEN Language = 'EN' THEN 1 ELSE 0 END) AS lang_EN,
SUM(CASE WHEN Language = 'SN' THEN 1 ELSE 0 END) AS lang_SN,
FROM (
SELECT
DATE(Request_Timestamp),
ID,
CASE
WHEN Language in ('EN', 'English') THEN 'EN'
WHEN Language in ('MY', 'Malay') THEN 'MY' ELSE Language
END AS Language,
FROM table
GROUP BY ID, Language, DATE(Request_Timestamp)
)
GROUP BY ID, DATE(Request_Timestamp)
)
样本输入:
样本输出
错误(选择后):
更新:它与Request\u Timestamp一起工作,但与DATE(Request\u Timestamp)不一起工作。别名丢失,额外,我删除了吗
SELECT
DATE(Timestamp),
ID,
SUM(CASE WHEN Language = 'EN' THEN 1 ELSE 0 END) AS lang_EN,
SUM(CASE WHEN Language = 'SN' THEN 1 ELSE 0 END) AS lange_SN
FROM
FROM table
GROUP BY ID, DATE(Timestamp)
别名丢失了,额外的,我删除了吗
SELECT
DATE(Timestamp),
ID,
SUM(CASE WHEN Language = 'EN' THEN 1 ELSE 0 END) AS lang_EN,
SUM(CASE WHEN Language = 'SN' THEN 1 ELSE 0 END) AS lange_SN
FROM
FROM table
GROUP BY ID, DATE(Timestamp)
已解决:
SELECT
DATE,
..
FROM (
SELECT
DATE(Request_Timestamp)as DATE,
ID,
CASE
..
END AS Language,
FROM table
GROUP BY ID, Language, Request_Timestamp
) t
GROUP BY ID, DATE, Language
已解决:
SELECT
DATE,
..
FROM (
SELECT
DATE(Request_Timestamp)as DATE,
ID,
CASE
..
END AS Language,
FROM table
GROUP BY ID, Language, Request_Timestamp
) t
GROUP BY ID, DATE, Language
您似乎只需要条件聚合。因为您只想计算匹配的布尔条件,所以请使用
COUNTIF()
:
您似乎只需要条件聚合。因为您只想计算匹配的布尔条件,所以请使用
COUNTIF()
:
字段名为Timestamp或Request\u Timestamp?在查询时编辑。我无意中删除了此帖子中的请求词检查答案below@swm . . . 如前所述,您的查询不能返回除
0
或1
以外的任何值,因为子查询按id和日期删除了重复项。字段名为Timestamp或Request\u Timestamp?在查询时编辑。我无意中删除了此帖子中的请求词检查答案below@swm . . . 如前所述,您的查询不能返回除0
或1
以外的任何值,因为子查询按id和日期删除了重复项。我需要使用内部语句。因此,删除它将影响我的查询。我需要使用内部语句。所以删除它会影响我的查询