Oracle Apex饼图SQL语句
我对SQL&Apex不是很感兴趣,但我需要一个声明,我非常感谢您在这方面的帮助。 Apex饼图的语法如下: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
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和行数。它朝着正确的方向发展,但仍缺少一个细节。