Oracle
 sql >> база данни >  >> RDS >> Oracle

Как работи сумата с условен оператор за регистър в sql

Вероятно това е частта, която се мъчите да разберете:

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

Това наистина е проста заявка за агрегиране. Това, което прави заявката е:

  • Погледнете всеки ред в employees
  • Ако jobname е 'Analyst' след това присвоете стойността на 1 (това е case оператор. Otherwise, assign a value of 0`.
  • Обобщаване по отдел, сумиране на току-що изчислената стойност. Това води до отчитане на броя на анализаторите.

case е израз, който връща стойност. sum() просто събира тази стойност за всяка група.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намиране на причината за грешка в блокиране от файла за проследяване на Oracle

  2. Как да декларирате и покажете променлива в Oracle

  3. Как премествате разделена таблица от едно таблично пространство в друго в Oracle 11g?

  4. Деактивирайте собствената JSF реализация на webLogic сървъра и използвайте myfaces реализация

  5. Регионът на часовата зона не е намерен