Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grupowanie na podstawie ilości wystąpień danej wartości w rekordzie
Forum PHP.pl > Forum > Bazy danych > MySQL
5w155
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),
blooregard
COUNT(id_towaru) AS ilosc

GROUP_BY id_towaru

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

Daje tylko:
erix
A gdzie group by? tongue.gif
blooregard
  1. SELECT id_towaru, COUNT(id_towaru) AS ilosc FROM pozycje_sprzedazy GROUP BY id_towaru ORDER BY ilosc
5w155
sciana.gif ale gafa....

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

macie po plusie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.