在Big Query中的Table中查找特定条件的属性计数

时间:2016-02-09 11:12:04

标签: mysql google-analytics google-bigquery

我有一个在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'

我该怎么做?

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