Sobes.tech
Middle

Τι είναι τα LAG και LEAD;

sobes.tech AI

Απάντηση από AI

LAG και LEAD είναι συναρτήσεις παραθύρου σε SQL που επιτρέπουν την απόκτηση τιμής από άλλη γραμμή σε σχέση με την τρέχουσα εντός ενός ορισμένου παραθύρου (σύνολο γραμμών).

  • LAG επιστρέφει την τιμή της προηγούμενης γραμμής (μετατόπιση προς τα πίσω).
  • LEAD επιστρέφει την τιμή της επόμενης γραμμής (μετατόπιση προς τα εμπρός).

Χρησιμοποιούνται για τη σύγκριση της τρέχουσας γραμμής με τις γειτονικές, π.χ., για τον υπολογισμό της διαφοράς μεταξύ τιμών ή την ανάλυση τάσεων.

Παράδειγμα:

SELECT
  date,
  sales,
  LAG(sales, 1) OVER (ORDER BY date) AS prev_day_sales,
  LEAD(sales, 1) OVER (ORDER BY date) AS next_day_sales
FROM sales_data;