• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Znalezienie klientów z przerwą w zamówieniach

Cloud VPS
0 głosów
232 wizyt
pytanie zadane 17 sierpnia 2023 w SQL, bazy danych przez Blds Użytkownik (830 p.)
Potrzebuję znaleźć klientów którzy mieli przerwę w zamówieniach powyżej 180 dni i pierwsze zamówienie dokonali w 2023 roku. Wymyślilem żeby skorzystać z funkcji lag i w ten sposób za pomocą różnicy między jedną i drugą datą wyciągnę okresy które mnie interesują tylko problem jest taki ze w ten sposób dostanę klientów którzy np. zamawiali coś na początku 2022 roku mieli przerwę 180 i pod koniec roku zaczeli zamawiać, a ja chcę tylko tych którzy zaczęli zamawiać w 2023r

1 odpowiedź

+1 głos
odpowiedź 17 sierpnia 2023 przez Wiciorny Ekspert (281,450 p.)

Nie wiem jak wygląda twoja tabela, więc zrobię tak jak sam zadałeś pytanie, czyli na ślepo... byle-jak, może Ci to pomoże: 
 

SELECT DISTINCT customer_id
FROM (
    SELECT 
        customer_id,
        order_date,
        LAG(order_date) OVER (PARTITION BY customer_id ORDER BY order_date) AS prev_order_date
    FROM orders
) AS order_with_prev
WHERE YEAR(order_date) = 2023
    AND COALESCE(DATEDIFF(order_date, prev_order_date), 999) > 180
    AND (prev_order_date IS NULL OR YEAR(prev_order_date) < 2023)

W tym zapytaniu użyto funkcji LAG, aby uzyskać poprzednią datę zamówienia dla każdego klienta, a następnie sprawdzono różnicę między datą obecnego zamówienia a poprzednim zamówieniem.

1
komentarz 18 sierpnia 2023 przez Blds Użytkownik (830 p.)
serdecznie dziękuję

Podobne pytania

0 głosów
1 odpowiedź 401 wizyt
pytanie zadane 19 lutego 2023 w SQL, bazy danych przez Latarnik Użytkownik (650 p.)
0 głosów
0 odpowiedzi 287 wizyt
0 głosów
1 odpowiedź 240 wizyt
pytanie zadane 13 listopada 2020 w Nasze projekty przez Jacuchna0 Użytkownik (640 p.)

93,460 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...