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

Co znamená předchozí v Oracle?

Zjevně se ptáte na tabulku T se sloupci WIN_30_DUR , AGENT_MASTER_ID a ROW_DT (mezi ostatními). Pamatujte, že klíčová slova jako OVER , PARTITION ukazují, že používáte analytický požadavek:takové požadavky vám umožňují získat informace o aktuálním řádku od ostatních, jejichž zápis pomocí GROUP BY by byl složitý a dlouhý nebo jiné „standardní“ doložky.

Zde na daném řádku:

  • skupina (PARTITION ) od AGENT_MASTER_ID :tím získáte všechny řádky T s aktuálním AGENT_MASTER_ID
  • v oddílu, který jste vytvořili ORDER řádků podle ROW_DT
  • toto uspořádání vám umožňuje vybrat 30 řádků před aktuálním ROW_DT :toto je význam PRECEDING klíčové slovo (0 by vybral aktuální řádek, opakem je FOLLOWING doložka)
  • pak provedete součet na WIN_30_DUR pole

V obvyklém jazyce by to znamenalo něco jako:pro každého agenta vezměte součet trvání předchozích 30 dnů.



  1. Zobrazit všechny dotazy přicházející do databáze Oracle

  2. Návrh databáze:jaký má smysl identifikace cizích klíčů?

  3. ORA-01840:vstupní hodnota není dostatečně dlouhá pro formát data v Oracle Insert pomocí Select

  4. stránkování a filtrování na velmi velké tabulce v postgresql (stránkování sady klíčů?)