我有一个在Big Query中有许多属性的表。我关心Big Query的两个属性。
我有
hits.eCommerceAction.action_type,hits.product.productSKU和hits.hitNumber。
编写了以下代码
SELECT hits.product.productSKU as SKU,
IF(hits.eCommerceAction.action_type = '1', (hits.hitNumber), NULL) ListCLicks
IF(hits.eCommerceAction.action_type = '2', (hits.hitNumber), NULL)) PDV
FROM [107485206.ga_sessions_20160101]
where hits.eCommerceAction.action_type in ('1')
#group by SKU,ListClicks
我的问题是上面的代码返回hits.hitNumber的第一个值,它是SKU的索引号。 SKU可以有多个hits.hitNumber。我想计算(不是作为索引求和)SKU的总hits.hitNumber。
ProductSKU | PDV | ListCLicks
-------------------------
1 | 120 | 235
2 | 234 | 124
3 | 2311| 1256
4 | 12 | 34
5 | 12 | 33
2 | 112 | 345
4 | 789 | 1110
2 | 3333| 2131
当hits.eCommerceAction.action_type ='2'时,PDV是hits.hitNumber索引 点击次数是hits.hitNumber索引当hits.eCommerceAction.action_type ='1'
输出
ProductSKU | PDV | ListCLicks
-------------------------
1 | 1 | 1
2 | 3 | 3
3 | 1 | 1
4 | 2 | 2
5 | 1 | 1
当hits.eCommerceAction.action_type ='2'时,PDV是hits.hitNumber计数 点击次数是hits.hitNumber计数当hits.eCommerceAction.action_type ='1'
我该怎么做?
答案 0 :(得分:1)
我假设您想按类型计算电子商务操作的数量。如果是这样,您可以使用SUM
完成此操作,每个相关操作添加1,否则为0
SELECT hits.product.productSKU as SKU,
SUM(IF(hits.eCommerceAction.action_type = '1', 1, 0)) ListCLicks,
SUM(IF(hits.eCommerceAction.action_type = '2', 1, 0)) PDV
FROM [107485206.ga_sessions_20160101]
GROUP BY SKU