Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak suma z instrukcją warunkową case działa w sql

Przypuszczalnie jest to część, którą starasz się zrozumieć:

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

To naprawdę proste zapytanie agregujące. Działanie zapytania to:

  • Spójrz na każdy wiersz w employees
  • Jeśli jobname to 'Analyst' następnie przypisz wartość 1 (to jest case instrukcja. Otherwise, assign a value of 0`.
  • Agregacja według działów, sumowanie właśnie obliczonej wartości. Skutkuje to policzeniem liczby analityków.

case to wyrażenie zwracające wartość. sum() to po prostu zsumowanie tej wartości dla każdej grupy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zwracać wiersze na podstawie użytkownika bazy danych i zawartości tabeli?

  2. Korzystanie z zakresu transakcji i zapytań

  3. Funkcje numeryczne w Oracle (pełna lista)

  4. Typ daty bez czasu w Oracle

  5. Znajdowanie brakujących dat w sekwencji