Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] lekko skomplikowane sortowanie
lonek
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 15.05.2006
Skąd: Szczecin

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


Witajcie,

Proszę szanownych kolegów i koleżanki o pomoc. Nie śpię od około 30h i po prostu nie mogę wymyślić metody na następujące zadanie.. (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) :

Mam tabelę w MySQL o mniej więcej takiej strukturze (w tabeli kilkadziesiąt różnych itemów, do każdego itemsa może być przypisane maksimum 5 kolorów, których też jest kilkadziesiąt):

+-----------+--------+--------+--------+--------+--------+
| item_name | kolor1 | kolor2 | kolor3 | kolor4 | kolor5 |
+-----------+--------+--------+--------+--------+--------+
| item_0001 | 000001 | 000015 | 000019 | 000000 | 000000 |
+-----------+--------+--------+--------+--------+--------+
| item_0002 | 000003 | 000015 | 000029 | 000031 | 000000 |
+-----------+--------+--------+--------+--------+--------+
...
+-----------+--------+--------+--------+--------+--------+
| item_000n | 000010 | 000015 | 000016 | 000018 | 000025 |
+-----------+--------+--------+--------+--------+--------+


Teraz chcę wysłać PHPem takie zapytanie do bazy, które by mi posortowało ilość poszczególnych itemów z danym kolorem, czyli powiedzmy dało listę w postaci:

- Jest 15 itemów z kolorem 15,
- Jest 12 itemów z kolorem 28,
- Jest 9 itemów z kolorem 33,
itd.

Malejąco, od koloru z największą liczbą itemów do najmniejszej. Jak to zrobić? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


  1. (SELECT count(kolor1) AS ilosc, kolor1 AS kolor FROM kolory GROUP BY kolor1)
  2. UNION
  3. (SELECT count(kolor2), kolor2 FROM kolory GROUP BY kolor2)
  4. UNION
  5. (SELECT count(kolor3), kolor3 FROM kolory GROUP BY kolor3)
  6. UNION
  7. (SELECT count(kolor4), kolor4 FROM kolory GROUP BY kolor4)
  8. UNION
  9. (SELECT count(kolor5), kolor5 FROM kolory GROUP BY kolor5)
  10. ORDER BY kolor
Go to the top of the page
+Quote Post
lonek
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 15.05.2006
Skąd: Szczecin

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


Thanks (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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.09.2025 - 07:27