Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

JFreeChart sử dụng truy vấn số ORACLE

Hãy thử một cái gì đó như sau ( Đây là sqlfiddle ):

select case 
           when time >= 23 then '23 =< TIME'
           when time < 23 and time >= 22.3 then '23 > TIME >= 22,3'
           when time < 22.3 and time >= 21.6 then '22,3 > TIME >= 21,6'
           when time < 21.6 and time >= 20.9 then '21,6 > TIME >= 20,9'
           else '20,9 > TIME'
        end   || ' with value '|| count(*) v
from your_table
group by case 
           when time >= 23 then '23 =< TIME'
           when time < 23 and time >= 22.3 then '23 > TIME >= 22,3'
           when time < 22.3 and time >= 21.6 then '22,3 > TIME >= 21,6'
           when time < 21.6 and time >= 20.9 then '21,6 > TIME >= 20,9'
           else '20,9 > TIME'
         end 

và kết quả:

21,6 > TIME >= 20,9 with value 8 
20,9 > TIME with value 4 
22,3 > TIME >= 21,6 with value 6 
23 > TIME >= 22,3 with value 15 
23 =< TIME with value 66

CẬP NHẬT: Như DavidAldrige đã đề xuất, bạn có thể có một truy vấn con:

select intrvl || ' with value '|| count(*) v
from
(select case 
           when time >= 23 then '23 =< TIME'
           when time < 23 and time >= 22.3 then '23 > TIME >= 22,3'
           when time < 22.3 and time >= 21.6 then '22,3 > TIME >= 21,6'
           when time < 21.6 and time >= 20.9 then '21,6 > TIME >= 20,9'
           else '20,9 > TIME'
        end   intrvl, time
from t)
group by intrvl

Và đây là một bản trình diễn khác




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vi phạm - không tìm thấy khóa mẹ 02291. 00000 - ràng buộc toàn vẹn

  2. Làm thế nào để định dạng loại Khoảng thời gian thành định dạng HH:MM?

  3. Nhận giá trị trả về của một hàm PL / SQL thông qua Hibernate

  4. Làm thế nào để kết hợp hai bảng thành các cột giống nhau này?

  5. Máy chủ Sql tương đương với DBMS_ASSERT của Oracle là gì?