我想在标准 SQL 中对以下数据进行透视和计数(使用 Google 附加 OWOX BI 和 Big Query):
使其以标准sql输出如下:
所以我想根据“原因”选择 itemsku 和枢纽。
不太明白,谢谢!!!
最佳答案
以下适用于 BigQuery 标准 SQL
#standardSQL
SELECT itemsku,
COUNTIF(reason = 'BIG') AS big,
COUNTIF(reason = 'NONE') AS none,
COUNTIF(reason = 'SMALL') AS small
FROM `project.dataset.table`
GROUP BY itemsku
您可以使用问题中的虚拟数据来测试、玩上面的内容,如下所示
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1010101 itemsku, 'BIG' reason UNION ALL
SELECT 1010101, 'BIG' UNION ALL
SELECT 13333, 'NONE' UNION ALL
SELECT 13333, 'NONE' UNION ALL
SELECT 14444, 'NONE' UNION ALL
SELECT 14444, 'NONE' UNION ALL
SELECT 14444, 'SMALL'
)
SELECT itemsku,
COUNTIF(reason = 'BIG') AS big,
COUNTIF(reason = 'NONE') AS none,
COUNTIF(reason = 'SMALL') AS small
FROM `project.dataset.table`
GROUP BY itemsku
-- ORDER BY itemsku
结果为
Row itemsku big none small
1 13333 0 2 0
2 14444 0 2 1
3 1010101 2 0 0
关于sql - 如何在标准 SQL 中进行 PIVOT 和 COUNT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51294315/