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

Jak agregować bez użycia `GROUP BY`?

Użyj funkcji analitycznych Oracle. Zmień widok wbudowany dla table_a na coś takiego:

select attr1,
       attr2,
       sum(quantity) over (partition by attr1 order by attr1) as total_qty,
       attr3
from   table_a
where  attr4 > 0

Może to wymagać drobnych poprawek, ale to podstawowa idea.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie ważny miesiąc na wyciągu INSERT

  2. Przekazywanie nazwy tabeli do kursora

  3. Skrypt do znajdowania wielopoziomowych zależności pakietu

  4. Oracle:Połącz dwie tabele z różnymi kolumnami

  5. SQL:Czy można 'grupować według' według wyników funkcji 'podobne'?