gpt4 book ai didi

google-bigquery - 在BigQuery SQL中使用IF

转载 作者:行者123 更新时间:2023-12-03 20:28:33 25 4
gpt4 key购买 nike

案例:我在BQ中有Sales表,并且item_num列包含值1,-1和0。我想计算每个值有多少个案例。

在下面尝试了一个简单的查询,但每种情况下count返回的数字都完全相同。

SELECT 
count(if(item_num > 0,1, 0)) as buysplus,
count(if(item_num < 0,1, 0)) as buysminus,
count(if(item_num = 0,1, 0)) as buyszero
from MyShop.Sales


谢谢

最佳答案

SELECT 
SUM(IF(item_num > 0, 1, 0)) AS buysplus,
SUM(IF(item_num < 0, 1, 0)) AS buysminus,
SUM(IF(item_num = 0, 1, 0)) AS buyszero
FROM MyShop.Sales


甚至更详细的版本:

SELECT 
SUM(item_num > 0) AS buysplus,
SUM(item_num < 0) AS buysminus,
SUM(item_num = 0) AS buyszero
FROM MyShop.Sales


这将给你这样的结果

buysplus    buysminus   buyszero     
4 2 3


另一个选择是它的转置版本

SELECT 
item_num AS buys,
COUNT(1) AS volume
FROM MyShop.Sales
GROUP BY 1


结果如下

 buys        volume  
0 3
1 4
-1 2

关于google-bigquery - 在BigQuery SQL中使用IF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35739103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com