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

Co oznacza poprzedni w Oracle?

Oczywiście pytasz o tabelę T z kolumnami WIN_30_DUR , AGENT_MASTER_ID i ROW_DT (pośród innych). Pamiętaj, że słowa kluczowe, takie jak OVER , PARTITION pokaż, że używasz żądania analitycznego:takie żądania pozwalają uzyskać informacje o bieżącym wierszu od innych, które byłyby złożone i długie do zapisania za pomocą GROUP BY lub inne "standardowe" klauzule.

Tutaj, w danym wierszu:

  • grupa (PARTITION ) przez AGENT_MASTER_ID :to pobiera wszystkie wiersze T z aktualnym AGENT_MASTER_ID
  • w utworzonej partycji ORDER wiersze według ROW_DT
  • ta kolejność pozwala wybrać 30 wierszy przed bieżącym ROW_DT :to jest znaczenie PRECEDING słowo kluczowe (0 wybrałby bieżący wiersz, przeciwieństwem jest FOLLOWING klauzula)
  • potem robisz sumę na WIN_30_DUR pole

W zwykłym języku oznaczałoby to coś takiego:dla każdego agenta weź sumę czasu trwania ostatnich 30 dni.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uzyskaj identyfikator wstawki w tym samym oświadczeniu

  2. RR vs YY w Oracle

  3. Przytnij białe spacje (nowy wiersz i spację tabulacji) w ciągu w Oracle

  4. jak połączyć się z bazą danych Oracle z systemu Unix?

  5. SQL -- Wypełnianie dat, które nie dają wyników