Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Grupowanie na podstawie ilości wystąpień danej wartości w rekordzie
5w155
post 28.07.2009, 15:24:03
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
blooregard
post 28.07.2009, 15:30:46
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


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
5w155
post 28.07.2009, 15:48:01
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:
Go to the top of the page
+Quote Post
erix
post 28.07.2009, 17:01:50
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? tongue.gif


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

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
blooregard
post 28.07.2009, 17:05:27
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


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
5w155
post 29.07.2009, 08:53:52
Post #6





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

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


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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 12:45