sql >> Databáze >  >> RDS >> Oracle

Jak omezit řádky na to, kde se SUM sloupce rovná určité hodnotě v Oracle

Toto je dobrý případ použití pro použití kumulativního součtu.

Za předpokladu, že pořadí řádků je jednoznačně definováno sloupci sem a subjectcode , jak vyplývá z vašeho dotazu, můžete dotaz napsat takto:

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. Jak připojím soubor z adresáře k e-mailu odeslanému pomocí utl_smtp

  2. Jak mohu použít FOR UPDATE s JOIN na Oracle?

  3. Migrace databáze členství ASP.NET do SQL Azure

  4. Jak převést int na date v SQL Server 2008