Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Grupowanie na podstawie ilości wystąpień danej wartości w rekordzie
5w155
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Mam taką tabelę w bazie:
  1. -- Struktura tabeli dla `pozycje_sprzedazy`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `pozycje_sprzedazy` (
  5. `id_poz_sprz` int(11) NOT NULL AUTO_INCREMENT,
  6. `nr_faktury` varchar(20) collate utf8_polish_ci NOT NULL,
  7. `id_towaru` int(11) NOT NULL,
  8. PRIMARY KEY (`id_poz_sprz`),
  9. KEY `nr_faktury` (`nr_faktury`),
  10. KEY `id_towaru` (`id_towaru`)
  11. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=68 ;
  12.  
  13. --
  14. -- Zrzut danych tabeli `pozycje_sprzedazy`
  15. --
  16.  
  17. INSERT INTO `pozycje_sprzedazy` (`id_poz_sprz`, `nr_faktury`, `id_towaru`) VALUES
  18. (1, '1', 1),
  19. (60, '2', 3),
  20. (61, '3', 3),
  21. (62, '4', 3),
  22. (63, '4', 2),
  23. (64, '4', 1),
  24. (65, '5', 3),
  25. (67, '1', 1);


Potrzebuję zapytania do posegregowania danych wg ilości wystąpień w rekordzie w kolumnie 'id_towaru', czyli osiągnać coś w stylu:
  1. (60, '2', 3),
  2. (61, '3', 3),
  3. (62, '4', 3),
  4. (65, '5', 3),
  5. (1, '1', 1),
  6. (64, '4', 1),
  7. (67, '1', 1);
  8. (63, '4', 2),
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




COUNT(id_towaru) AS ilosc

GROUP_BY id_towaru

ORDER BY ilosc
Go to the top of the page
+Quote Post
5w155
post
Post #3





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


Niestety, to nie daje odpowiedniego efektu.
Zapytanie:
  1. SELECT id_towaru, COUNT(id_towaru) AS ilosc FROM pozycje_sprzedazy ORDER BY ilosc

Daje tylko:
(IMG:http://img32.imageshack.us/img32/8792/zrzutekranud.png)
Go to the top of the page
+Quote Post
erix
post
Post #4





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




A gdzie group by? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
blooregard
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




  1. SELECT id_towaru, COUNT(id_towaru) AS ilosc FROM pozycje_sprzedazy GROUP BY id_towaru ORDER BY ilosc
Go to the top of the page
+Quote Post
5w155
post
Post #6





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 27.01.2009

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


(IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) ale gafa....

dzięki chłopaki! Wszystko jest jak trzeba.

macie po plusie

Ten post edytował 5w155 29.07.2009, 08:54:23
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: 26.09.2025 - 18:18