MySQL Forums
Forum List  »  Italian

Substitute LAG function
Posted by: Ladis Kumar Antony Xavier
Date: October 21, 2021 04:36AM

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;"

Options: ReplyQuote


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.