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

SQL klienci z orderami min. 20 w kazdym miesiącu

Cloud VPS
0 głosów
141 wizyt
pytanie zadane 11 kwietnia 2023 w SQL, bazy danych przez Blds Użytkownik (830 p.)
edycja 19 kwietnia 2023 przez Blds

Potrzebuję wyciągnąć customer_id takich którzy zralizowali w kazdym z 2 miesięcy (styczen, luty) min 20 orderów, Zrobiłem dwa selecty i połączyłem intersect. Czy będzie poprawnie? czy jest jakas alternatywa do tego zapytania?

select customer_id, create_month, sum(count) suma
from
    all_orders_month
where
     create_month = 202301
GROUP BY 1, 2
having suma > 20

intersect

select customer_id, create_month, sum(count) suma
from
    all_orders_month
where
    create_month = 202302
GROUP BY 1, 2
having suma > 20

 

komentarz 11 kwietnia 2023 przez VBService Ekspert (256,600 p.)
edycja 12 kwietnia 2023 przez VBService

min 20 orderów

BTW 

having suma >= 20

pomijam fakt, że w tytule  wink

orderami min. 10 

1 odpowiedź

0 głosów
odpowiedź 11 kwietnia 2023 przez VBService Ekspert (256,600 p.)

Spróbuj użyć operatora IN, np.

SELECT customer_id, create_month, SUM(count) AS suma
FROM all_orders_month
WHERE create_month IN (202301, 202302)
GROUP BY 1, 2
HAVING suma >= 20;

 

Podobne pytania

+2 głosów
1 odpowiedź 493 wizyt
pytanie zadane 21 listopada 2021 w SQL, bazy danych przez Maciek273 Początkujący (450 p.)
0 głosów
3 odpowiedzi 406 wizyt
pytanie zadane 13 marca 2021 w SQL, bazy danych przez Paweł123 Nałogowiec (33,540 p.)
0 głosów
1 odpowiedź 220 wizyt

93,464 zapytań

142,459 odpowiedzi

322,730 komentarzy

62,844 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
...