Диаграмма вершины оракула - линейный график sql?
select count(case when extract(month from C_DATE) = 1 then 1 end) as Jan,
count(case when extract(month from C_DATE) = 2 then 1 end) as feb,
count(case when extract(month from C_DATE) = 3 then 1 end) as mar,
count(case when extract(month from C_DATE) = 4 then 1 end) as april,
count(case when extract(month from C_DATE) = 5 then 1 end) as may,
count(case when extract(month from C_DATE) = 6 then 1 end) as jun,
count(case when extract(month from C_DATE) = 7 then 1 end) as jul,
count(case when extract(month from C_DATE) = 8 then 1 end) as aug,
count(case when extract(month from C_DATE) = 9 then 1 end) as sep,
count(case when extract(month from C_DATE) = 10 then 1 end) as oct,
count(case when extract(month from C_DATE) = 11 then 1 end) as nov,
count(case when extract(month from C_DATE) = 12 then 1 end) as december
from Table1
В настоящее время у меня есть запрос, который дает результат
Jan Feb Mar Apr .....
1 3 1 2
Теперь я хочу отобразить эту информацию в виде графика, чтобы он выглядел так, как будто
3 x
2
1 x x
jan feb mar
Будучи abit из noob с диаграммами, я не могу заставить его работать, когда я пытаюсь использовать свой текущий запрос. любая помощь высоко ценится
1 ответ
Если вы действительно хотите использовать ASCII-графику и вместо чего-то более сложного, вы можете использовать
WITH
Line AS (
SELECT
' ' || Jan || ' ' || Feb || ' ' || Mar || ' ' || Apr || ' ' || May || ' ' || Jun || ' ' || Jul || ' ' || Aug || ' ' || Sep || ' ' || Oct || ' ' || Nov || ' ' || Dec || ' ' l
FROM Result
),
Graph (cnt, g)AS (
SELECT 5, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 5 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT 4, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 4 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT 3, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 3 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT 2, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 2 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT 1, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 1 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT 0, '#' || REGEXP_REPLACE(REGEXP_REPLACE(l, ' 0 ', ' x '), '\d+', ' ') || '#' FROM Line UNION ALL
SELECT -1, '# Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec #' FROM DUAL
)
SELECT
*
FROM Graph
ORDER BY cnt DESC
;
с "Результатом", являющимся вашим запросом к Таблице1.
См. SQL Fiddle (переключитесь на вывод простого текста, чтобы увидеть правильное выравнивание столбцов.)
Пробовали ли вы строить диаграммы, Гантс и карты с помощью Oracle Application Express 4.0? Пожалуйста, прокомментируйте, если и как требуется корректировка / дальнейшие детали.