如何在同一 table 同一列中减去配置单元中的计数值
how to subtract count values in hive in same table same column
hi the screenshot I uploaded is table with first column post_id, score, answerCount, CommentCount
嗨,我被困在一个配置单元问题上,我在 sql 和配置单元中非常菜鸟,我正在处理堆栈溢出数据集,我试图找到已回答问题的百分比。我所做的是我计算了所有的问题并计算了所有已回答的问题,但我仍然坚持如何减去它们
select AnswerCount
> from posts
> LEFT JOIN posts
> ON AnswerCount = AnswerCount
> WHERE AnswerCount IS NULL;
我希望结果是全部计数 - 已回答问题的计数
一些 answerCounts 是 null 我这样做是为了用
计算答案
`select AnswerCount
>from posts
>where AnswerCount > 0;`
这是架构
post_id score AnswerCount CommentCount
385106 2 NULL 0
385107 2 0 2
385108 14 NULL 4
385109 -2 NULL 3
385110 8 NULL 5
385113 -8 NULL 2
385114 16 NULL 0
385116 30 2 6
385118 -2 NULL 0
更新了我的答案以清理它。
已签出:
SELECT
CAST(( SELECT COUNT(ua.post_id) FROM posts ua
WHERE ua.AnswerCount IS NOT NULL) AS DECIMAL(3,2)) /
CAST(COUNT(t.post_id) AS DECIMAL(3,2))
FROM posts t
该查询包含一个子查询,该子查询选择 COUNT()
的帖子,其中 AnswerCount IS NULL
,并将其除以帖子总数。剩下的是 CAST
到 DECIMAL
的整数,因为派系结果将被报告为 0
如果保留为 int
。
SELECT SUM(if(AnswerCount IS NULL OR AnswerCount = 0, 1, 0))/COUNT(*) * 100 as Percent_unanswered
FROM posts;
hi the screenshot I uploaded is table with first column post_id, score, answerCount, CommentCount 嗨,我被困在一个配置单元问题上,我在 sql 和配置单元中非常菜鸟,我正在处理堆栈溢出数据集,我试图找到已回答问题的百分比。我所做的是我计算了所有的问题并计算了所有已回答的问题,但我仍然坚持如何减去它们
select AnswerCount
> from posts
> LEFT JOIN posts
> ON AnswerCount = AnswerCount
> WHERE AnswerCount IS NULL;
我希望结果是全部计数 - 已回答问题的计数 一些 answerCounts 是 null 我这样做是为了用
计算答案`select AnswerCount
>from posts
>where AnswerCount > 0;`
这是架构
post_id score AnswerCount CommentCount
385106 2 NULL 0
385107 2 0 2
385108 14 NULL 4
385109 -2 NULL 3
385110 8 NULL 5
385113 -8 NULL 2
385114 16 NULL 0
385116 30 2 6
385118 -2 NULL 0
更新了我的答案以清理它。
已签出:
SELECT
CAST(( SELECT COUNT(ua.post_id) FROM posts ua
WHERE ua.AnswerCount IS NOT NULL) AS DECIMAL(3,2)) /
CAST(COUNT(t.post_id) AS DECIMAL(3,2))
FROM posts t
该查询包含一个子查询,该子查询选择 COUNT()
的帖子,其中 AnswerCount IS NULL
,并将其除以帖子总数。剩下的是 CAST
到 DECIMAL
的整数,因为派系结果将被报告为 0
如果保留为 int
。
SELECT SUM(if(AnswerCount IS NULL OR AnswerCount = 0, 1, 0))/COUNT(*) * 100 as Percent_unanswered
FROM posts;