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

Câu lệnh điều kiện sum với trường hợp hoạt động như thế nào trong sql

Có lẽ, đây là phần mà bạn đang khó hiểu:

  select deptno,
         sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
  from employees
  group by deptno

Đây thực sự là một truy vấn tổng hợp đơn giản. Những gì truy vấn đang làm là:

  • Xem từng hàng trong employees
  • Nếu jobname'Analyst' sau đó gán giá trị của 1 (đây là case câu lệnh . Otherwise, assign a value of 0`.
  • Tổng hợp theo bộ phận, tổng hợp giá trị vừa tính được. Điều này có tác dụng đếm số lượng nhà phân tích.

case là một biểu thức trả về một giá trị. sum() chỉ đơn giản là cộng giá trị đó cho mỗi nhóm.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đọc clob từng dòng với pl \ sql

  2. ROW_NUMBER truy vấn

  3. Hiển thị các bản ghi từ hai bảng cạnh nhau chỉ khớp với một số trường

  4. Độ dài tối đa của tên bảng trong Oracle là bao nhiêu?

  5. So sánh các hàng và cột của cùng một bảng