【发布时间】:2021-02-22 17:55:22
【问题描述】:
此查询应在 Failed_Record_Count 列中按 Error_Type(嵌套)和 Application(嵌套)汇总所有记录。 Total_Record_Count 列应汇总表中的所有记录(不包括未嵌套的表)。但是,在子查询中引用 a.timestamp 的错误被称为既不分组也不聚合。
我注意到,当从选择列表中删除“日期”函数时,它成功执行但没有我预期的输出。我希望它将按日期而不是时间戳分组,因此,我试图按日期而不是时间戳来总结记录。
请帮忙。
SELECT
DATE(timestamp) AS Date,
status AS Status,
program_number AS P_No,
flow AS Flow,
e.type AS Error_Type,
e.application AS Application,
(
SELECT
COUNT(*)
FROM
`table` b
WHERE
a.status = b.status
AND a.program_number = b.program_number
AND a.flow = b.flow
AND DATE(a.timestamp) = DATE(b.timestamp)
) AS Total_Record_Count,
COUNT(*) AS Failed_Record_Count
FROM
`table` a,
UNNEST(evaluation.validation) as ev,
UNNEST(ev.errors) as e
WHERE
DATE(timestamp) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 2 DAY)
AND CURRENT_DATE()
GROUP BY 1,2,3,4,5,6
ORDER BY 2,3,4,5,6
【问题讨论】:
标签: sql google-bigquery