Substitute LAG function
Salve,
avevo nel Maria DB versione 10 la seguente query. La stessa query non funziona su Mysql 5.7, perché non c'è in questa versione la funzione window LAG. Come posso sostituirlo?
Casistica: ricerca delle date disponibili degli impianti, anche parzialmente, tra le due date fornite dall'utente. VI RINGRAZIO IN ANTICIPO.
SELECT * FROM (
SELECT
id_subimpianto,
COALESCE (
DATE_ADD(LAG(periodo_al, 1) OVER (PARTITION BY id_subimpianto ORDER BY periodo_al), INTERVAL 1 DAY), '$periodo_dal' ) AS from_date,
DATE_ADD(periodo_dal, INTERVAL -1 DAY) to_date, '$periodo_dal' AS start_date
FROM offertaitems
WHERE '$periodo_dal' < periodo_al AND periodo_dal < '$periodo_al'
GROUP BY id_subimpianto, periodo_dal, periodo_al
) t
WHERE from_date <= to_date
UNION ALL
SELECT
id_subimpianto AS id_subimpianto,
DATE_ADD(MAX(periodo_al), INTERVAL 1 DAY) AS from_date,
'$periodo_al' AS to_date,
'$periodo_dal' AS start_date
FROM offertaitems
GROUP BY id_subimpianto
HAVING from_date <= to_date
ORDER BY 1,2;"
Subject
Views
Written By
Posted
Substitute LAG function
690
October 21, 2021 04:36AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.