Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połączenie dwóch zapytań, 1 wspólne pole, 2 statusy
noisysomeone
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.05.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam pole `status`, `data`, `liczba` oraz dane:
Kod
status      data      liczba
  1      14.03.2011     5
  0      14.03.2011     7
  1      14.03.2011    10
  1      15.03.2011    60
  0      15.03.2011    96
  1      15.03.2011    76
  1      15.03.2011    99
...    ............   ..

Mam nadzieje, że powyższy kod ilustruje strukturę bazy. Potrzebuje zapytania, które zwróci taki oto wynik:
Kod
data, ilosc-wierszy-ze-statusem-1, sum-liczby-dla-dla-status-1, ilosc-wierszy-ze-statusem-0, sum-liczby-dla-dla-status-0


Czyli potrzebuje zestawić każdy dzień pod kątem statusów i sum liczba. Mógłbym użyć 2 następujących zapytań, ale potrzebuje to zrobić w jednym.
Kod
SELECT `data`, SUM(`liczba`), COUNT(`id`) FROM `zamowienia` WHERE date(`data`) >= DATE(NOW()-interval 30 day) AND `status`='1' GROUP BY `data`
SELECT `data`, SUM(`liczba`), COUNT(`id`) FROM `zamowienia` WHERE date(`data`) >= DATE(NOW()-interval 30 day) AND `status`='0' GROUP BY `data`


Dopiero zaczynam z MySQL i nie bardzo wiem jak to zrobić. Z góry dziękuje za waszą pomoc;)

Jarek
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
maly_swd
post
Post #2





Grupa: Zarejestrowani
Postów: 744
Pomógł: 118
Dołączył: 14.02.2009
Skąd: poziome

Ostrzeżenie: (0%)
-----


  1. SELECT DATA,
  2. count(IF(STATUS=1, 1, NULL)) AS ilosc_wierszy_ze_statusem_1,
  3. sum(IF(STATUS=1, liczba, 0)) AS sum_liczby_dla_dla_status_1,
  4.  
  5. count(IF(STATUS=0, 1, NULL)) AS ilosc_wierszy_ze_statusem_0,
  6. sum(IF(STATUS=0, liczba, 0)) AS sum_liczby_dla_dla_status_0
  7.  
  8. FROM tabela
  9. GROUP BY DATA
Go to the top of the page
+Quote Post
noisysomeone
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 4.05.2009

Ostrzeżenie: (0%)
-----


Dzięki mały, działa:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:42