sql—如何减去同一表中同一列的配置单元中的计数值

sxpgvts3  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(349)

嗨,我上传的屏幕截图是表格的第一列post\u id,score,answercount,commentcount嗨,我被困在一个配置单元的问题,我非常noob在sql和配置单元,我正在工作的堆栈溢出数据集,我试图找到百分之回答的问题。我所做的是计算所有的问题,并计算所有已回答的问题,但我被困在如何减去他们

select AnswerCount
> from posts
> LEFT JOIN posts
> ON AnswerCount = AnswerCount
> WHERE AnswerCount IS 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
cunj1qz1

cunj1qz11#

更新了我的答案来清理它。
已 checkout :

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 .

roejwanj

roejwanj2#

SELECT SUM(if(AnswerCount IS NULL OR AnswerCount = 0, 1, 0))/COUNT(*) * 100 as Percent_unanswered
      FROM posts;

相关问题