我正在计算bigquery中每个用户的评级分数。但是,表中的评级列是字符串数据类型。因此,当我运行查询时,它会返回错误,我认为这是因为数据类型:
No matching signature for operator > for argument types: STRING, INT64. Supported signatures: ANY > ANY
伪代码是这样的:如果评级<0,则计数,如果评级>10,则计数
SELECT
User_ID,
COUNT(CASE WHEN Rating < 0 THEN 1 ELSE 0 END) AS rating_below_1,
COUNT(CASE WHEN Rating > 0 THEN 1 ELSE 0 END) as rating_above_10
FROM
table
GROUP BY User_ID;
1条答案
按热度按时间taor4pac1#
使用
countif()
:你也可以使用
safe_cast()
: