首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在平流石中获得百分比

在平流石中获得百分比
EN

Stack Overflow用户
提问于 2014-04-23 09:42:11
回答 1查看 85关注 0票数 1

我对以下声明提出了疑问:

代码语言:javascript
复制
select mood, count(*) * 100/ (select count(*) from entry)from entry group by mood having data>data-30 order by mood asc 

语气是从0到2的整数。

产出如下:

代码语言:javascript
复制
             mood         count       


              0            96,55

              1            3,44

有没有一种方法可以将一行添加到“心情2”计数为0?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 10:59:05

代码语言:javascript
复制
  SELECT   MOOD, SUM (COUNTER) TOTAL
    FROM   (  SELECT   0 MOOD, 0 COUNTER FROM DUAL
            UNION ALL
              SELECT   1 MOOD, 0 COUNTER FROM DUAL
            UNION ALL
              SELECT   2 MOOD, 0 COUNTER FROM DUAL
            UNION ALL
              SELECT   MOOD,   COUNT ( * )
                             * 100.0
                             / (SELECT   COUNT ( * )
                                  FROM   ENTRY
                                 WHERE   DATA > DATE ('now') - 30)
                FROM   (SELECT   *
                          FROM   ENTRY
                         WHERE   DATA > DATE ('now') - 30)
            GROUP BY   MOOD, DATA)
GROUP BY   MOOD
ORDER BY   MOOD ASC;

您必须枚举(0,1,2,.)所有可能的数字,关联一个计数器= 0。然后,按情绪对计数器进行汇总。

请注意,你的条件有数据>数据-30是荒谬的。例如,您必须从条目中选择满足条件数据>日期(‘now’)- 30的所有记录。

SQLite:名为" dual“的视图与Oracle "dual”表的工作方式相同,可以创建如下所示:“created SELECT 'x‘作为虚拟;”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23240548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档