• 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

HackNation - ogólnopolski hackathon
0 głosów
280 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 (282,580 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ź 474 wizyt
pytanie zadane 19 lutego 2023 w SQL, bazy danych przez Latarnik Użytkownik (650 p.)
0 głosów
0 odpowiedzi 366 wizyt
0 głosów
1 odpowiedź 293 wizyt
pytanie zadane 13 listopada 2020 w Nasze projekty przez Jacuchna0 Użytkownik (640 p.)

93,625 zapytań

142,548 odpowiedzi

323,034 komentarzy

63,129 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1210p. - dia-Chann
  2. 1197p. - DziarnowskiJ
  3. 1177p. - Łukasz Piwowar
  4. 1172p. - CC PL
  5. 1161p. - Maurycy W
  6. 1141p. - Adrian Wieprzkowicz
  7. 1138p. - raydeal
  8. 1134p. - Tomasz Bielak
  9. 1116p. - rucin93
  10. 1101p. - robwarsz
  11. 1100p. - Mariusz Fornal
  12. 1024p. - ssynowiec
  13. 885p. - Dominik Łempicki (kapitan)
  14. 847p. - Grzegorz Aleksander Klementowski
  15. 838p. - Wojciech Malicki
Szczegóły i pełne wyniki

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
...