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

Jak ograniczyć wiersze do miejsca, w którym SUMA kolumny jest równa określonej wartości w Oracle?

To dobry przypadek użycia sumy skumulowanej.

Zakładając, że kolejność wierszy jest jednoznacznie określona przez kolumny sem i subjectcode , jak sugeruje Twoje zapytanie, możesz je zapisać w następujący sposób:

select *
  from (select t.*,
               sum(t.credit) over (order by t.sem, t.subjectcode) as credit_sum
          from studyplan t
         where t.matricsno = 'D031310087')
 where credit_sum <= 20 -- adjust to desired number of credits
 order by sem, subjectcode



  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 przekonwertować ciąg znaków na format daty do przechowywania w bazie danych?

  2. java.sql.SQLException:ORA-01652:nie można rozszerzyć segmentu temp o 128 w tablespace TEMP (nawet po rozszerzeniu)

  3. Oracle SQL :Pobieranie nieistniejących wartości z klauzuli IN

  4. Oracle ListaGG, 3 najczęściej występujące wartości, podane w jednej kolumnie, pogrupowane według ID

  5. SQL UPDATE w pozycji SELECT nad zdaniem partycji