我想在BigQuery(旧版SQL)上运行查询后计算不同类型的输出。例如,我有一个具有不同类型的html状态代码的表。我运行此查询时看起来像这样:
SELECT status, COUNT(status)
FROM [app_logs]
WHERE status >='300' AND DATE(CAST(start_time AS DATE)) >= '2017-11-23' AND DATE(CAST(end_time AS DATE)) <= '2017-12-22'
GROUP BY status
输出:
Row status f0_
1 404 11
2 403 27
3 302 8
4 500 11
我希望查询的最终输出只计算有多少种不同的状态类型(404,403,302,500),所以在这个例子中最终的输出是:
f0_
4
有没有办法只用一个查询来做到这一点? 提前谢谢。
答案 0 :(得分:1)
#legacySQL
SELECT EXACT_COUNT_DISTINCT(status)
FROM [app_logs]
WHERE status >='300'
AND DATE(CAST(start_time AS DATE)) >= '2017-11-23'
AND DATE(CAST(end_time AS DATE)) <= '2017-12-22'