Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle Apex饼图SQL语句_Sql_Oracle_Charts_Oracle Apex - Fatal编程技术网

Oracle Apex饼图SQL语句

Oracle Apex饼图SQL语句,sql,oracle,charts,oracle-apex,Sql,Oracle,Charts,Oracle Apex,我对SQL&Apex不是很感兴趣,但我需要一个声明,我非常感谢您在这方面的帮助。 Apex饼图的语法如下: SELECT link, label, value 我的桌子看起来像这些简单的草图: +------+-----------+---------+ | ID | Company | Item | +------+-----------+---------+ | 1 | AAA |Some | | 2 | BB |Stuff

我对SQL&Apex不是很感兴趣,但我需要一个声明,我非常感谢您在这方面的帮助。 Apex饼图的语法如下:

SELECT link, label, value
我的桌子看起来像这些简单的草图:

+------+-----------+---------+
| ID   | Company   | Item    |
+------+-----------+---------+
| 1    | AAA       |Some     |
| 2    | BB        |Stuff    |
| 3    | BB        |Not      |
| 4    | CCCC      |Important|
| 5    | AAA       |For      |
| 6    | DDDDD     |Question?|
+------+-----------+---------+
我想显示公司的百分比

问题:所有少于5项的公司都应该合并到一个列中。对我来说,困难在于合并不重要的公司

到目前为止,我的陈述如下:

SELECT null link, 
company label, 
COUNT(ID) value FROM table HAVING COUNT(ID) > 5 GROUP BY company
这是一张很棒的示意图D


谢谢你的想法

我面前没有SQL Developer,但是这个或一个类似的变体应该适合您:

WITH company_count
  AS (
      SELECT CASE
                WHEN count(*) < 5
                THEN 'Other'
                ELSE company
              END AS company_name,
             id
        FROM tablename
      ),
      company_group
  AS (
      SELECT company_name,
             count(id) item_count
        FROM company_count
       GROUP BY company_name
     )
SELECT NULL AS link,
       company_name AS label,
       item_count AS value
  FROM company_group;

希望有帮助

好了,伙计们,我找到了我用例的答案。这和奥利斯的回答很相似。再次感谢你的帮助

 WITH sq1 AS (SELECT company, COUNT (*) AS count FROM 
 (SELECT CASE WHEN COUNT (*) OVER  (Partition By company) > 5 THEN company
 ELSE 'other' END AS company, id FROM table) GROUP BY company)

 SELECT null link, company label, count value FROM sq1 ORDER BY count desc

谢谢你的回答!但我有点困惑,上一个SELECT语句中的项目计数是从哪里来的?我应该分别插入哪些信息?@oldfrester我相信company\u group子查询中的countid应该与item\u count别名。最初是这样的,但在Ollie的第二次编辑中,他可能忘记了这么做,所以我重新编辑了它。语法是正确的,但现在图表只显示标签other和行数。它朝着正确的方向发展,但仍缺少一个细节。