Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Podzapytania - jak można sumować wg. kolumny?
milupo2nd
post 9.03.2011, 16:19:23
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.08.2004

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


Witam,
Mam następującą tabelę:
  1. +----+---------+-------------+---------------+---------------------+--------+
  2. | id | user_id | category_id | category_name | created | status |
  3. +----+---------+-------------+---------------+---------------------+--------+
  4. | 1 | 27 | 4 | 5 | 2011-03-09 13:24:48 | F |
  5. | 2 | 27 | 6 | 6 | 2011-03-09 13:24:48 | F |
  6. | 3 | 27 | 9 | 9 | 2011-03-09 13:24:48 | A |
  7. | 4 | 27 | 6 | 6 | 2011-03-09 13:24:48 | N |
  8. | 5 | 27 | 6 | 6 | 2011-03-09 13:39:52 | F |
  9. +----+---------+-------------+---------------+---------------------+--------+



Jak wyciągnąć z tego dane dla określonego user_id w postaci:

  1. category_id | sum_status_A | sum_status_F | sum_status_N | sum_status_P | sum_status_X
  2. 6 | 0 | 2 | 1 | 0 | 0
  3. 4 | 0 | 1 | 0 | 0 | 0
  4. 9 | 1 | 0 | 0 | 0 | 0


Jak widać są statusy P i X które niekoniecznie muszą wystąpić w wierszach. Męczę się z tym już od kilku godzin i czym dłużej myślę tym jestem głupszy smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post 9.03.2011, 16:26:14
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




GROUP + SUM(kolumna)

Prościej się nie da. wink.gif Chyba że o coś innego chodzi.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
milupo2nd
post 9.03.2011, 16:32:53
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 12.08.2004

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


No właśnie tak się nie da, ponieważ mogą nie wystąpić w wierszach określone statusy, więc jak je zliczymy? Chyba, że jakieś wyrażenie w SUM()?


-----------
Edit:

No tak a ja sie zastanawiałem i wymyślałem inne niestworzone rzeczy smile.gif

SELECT category_id, SUM(status='N'), SUM(status='A'), SUM(status='F'), SUM(status='P') FROM tabela
group by category_id


Ten post edytował milupo2nd 9.03.2011, 16:45:02
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:10