O tio Iron está ficando meio velho…tô apanhando de uma query(Oracle 10g) super simples aqui!
Seguinte:Tenho um campo(cliente_x_hora) na qual eu conto as ocorrencias desse campo e exibo graficamente no JFreeChart.Até aí tudo bem, antes de montar a query, eu seleciono até 3 itens(número do intervalo,valor do intervalo e valor mínimo) e aperto o botão que gerará a query.(O menor valor possível é 0 e o maior é 34299.2 nesse campo-que é NUMERIC-, com um total de 87687 registros).
Devo estar velho no SQL(até copiei de outro post), mas quando eu seleciono apenas número do intervalo(=5) e valor do Intervalo(=1000.0), eu obtenho a seguinte imagem:
http://img585.imageshack.us/img585/5025/querycom5intervalo1000v.png
Para a seguinte query:
SELECT INTERVAL, COUNT(*) TOTAL FROM (
SELECT CASE WHEN CLIENTE_X_HORA>0 AND CLIENTE_X_HORA<=1000.00 THEN '0<CLIENTE_X_HORA><=1000.00'
WHEN CLIENTE_X_HORA>1000.00 AND CLIENTE_X_HORA<=2000.00 THEN '1000.00<CLIENTE_X_HORA><=2000.00'
WHEN CLIENTE_X_HORA>2000.00 AND CLIENTE_X_HORA<=3000.00 THEN '2000.00<CLIENTE_X_HORA><=3000.00'
WHEN CLIENTE_X_HORA>3000.00 AND CLIENTE_X_HORA<=4000.00 THEN '3000.00<CLIENTE_X_HORA><=4000.00'
ELSE '4000.00<CLIENTE_X_HORA' END INTERVAL, CLIENTE_X_HORA FROM SGD_CAUSA) GROUP BY INTERVAL ORDER BY TOTAL
Quando eu seleciono também o valor inicial(=2000.0), eu obtenho essa imagem:
http://img40.imageshack.us/img40/5025/querycom5intervalo1000v.png
Para a seguinte query:
SELECT INTERVAL, COUNT(*) TOTAL FROM (
SELECT CASE WHEN CLIENTE_X_HORA>2000.00 AND CLIENTE_X_HORA<=3000.00 THEN '2000.00<CLIENTE_X_HORA><=3000.00'
WHEN CLIENTE_X_HORA>3000.00 AND CLIENTE_X_HORA<=4000.00 THEN '3000.00<CLIENTE_X_HORA><=4000.00'
WHEN CLIENTE_X_HORA>4000.00 AND CLIENTE_X_HORA<=5000.00 THEN '4000.00<CLIENTE_X_HORA><=5000.00'
WHEN CLIENTE_X_HORA>5000.00 AND CLIENTE_X_HORA<=6000.00 THEN '5000.00<CLIENTE_X_HORA><=6000.00'
ELSE '6000.00<CLIENTE_X_HORA' END INTERVAL, CLIENTE_X_HORA FROM SGD_CAUSA) GROUP BY INTERVAL ORDER BY TOTAL
Quando eu aumentei a frequencia, o resultado de >6000 gerou uma barra de 86049, um erro claro, pois o número de ocorrências é muito menor acima desse valor.Onde está o erro nessa query?


