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

GROUP BY без агрегатна функция

Ето как работи GROUP BY. Отнема няколко реда и ги превръща в един ред. Поради това той трябва да знае какво да прави с всички комбинирани редове, където има различни стойности за някои колони (полета). Ето защо имате две опции за всяко поле, което искате да ИЗБЕРЕТЕ:Или го включете в клаузата GROUP BY, или го използвайте в агрегатна функция, така че системата да знае как искате да комбинирате полето.

Например, да приемем, че имате тази таблица:

Name | OrderNumber
------------------
John | 1
John | 2

Ако кажете ГРУПА ПО име, как ще разбере кой номер на поръчка да покаже в резултата? Така че или включвате OrderNumber в група по, което ще доведе до тези два реда. Или използвате агрегатна функция, за да покажете как да боравите с OrderNumbers. Например MAX(OrderNumber) , което означава, че резултатът е John | 2 или SUM(OrderNumber) което означава, че резултатът е John | 3 .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Въведение в групово събиране на PL/SQL в базата данни на Oracle

  2. Как да се свържете отдалечено с базата данни Oracle 11g

  3. Какво представляват PLSQL записи в Oracle

  4. 2 функции за получаване на годината от дата в Oracle

  5. Oracle:множество актуализации на таблици => ORA-01779:не може да промени колона, която се съпоставя с таблица без ключ