sql >> Databáze >  >> RDS >> Mysql

LIMIT / OFFSET v Oracle 11G

Původní odpověď byla smazána, není životaschopná

Mám pocit, že by to mělo být proveditelné v jediném příkazu SQL, ale zatím kombinace potřeby korelovaného poddotazu a potřeby nějaké analytické funkce způsobila, že všechno, co jsem zkoušel, selhalo.

Zde je procedurální metoda, o které si myslím, že udělá to, co chcete:

DECLARE
  CURSOR t IS
  SELECT LEAD(contractid,4) OVER (PARTITION BY assetid ORDER BY lasttradedate ASC) lead_contractid
    FROM table1
    FOR UPDATE;
BEGIN
  FOR r IN t LOOP
     UPDATE table1 SET nextcontractid = r.lead_contractid
       WHERE CURRENT OF t;
  END LOOP;
END;



  1. nejlepší způsob, jak uložit adresu URL v mysql pro aplikace náročné na čtení a zápis

  2. MySQL Spustí po aktualizaci pouze v případě, že se řádek změnil

  3. Efektivní monitorování replikace MySQL pomocí řídicích panelů SCUMM:Část 2

  4. MYSQL zobrazuje 0, i když výsledky neexistují