Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Przedszkole _ [SQL] Wyświetlenie powtarzających się wartości wraz z policzeniem ich

Napisany przez: sadistic_son 18.10.2021, 12:25:26

cześć,
Mam taką tabelę:

id | browser
1 | AA
2 | BB
3 | AA
4 | CC
5 | DD
6 | ZZ
7 | ZZ
8 | ZZ

Chciałbym uzyskać taki efekt (kolejność nieważna - może zaczynać się od ZZ lub BB, itd):

AA, 2
BB, 1
CC, 1
DD, 1
ZZ, 3

Innymi słowy wartości z `broweser` powtarzają się a jest ich jakieś 5-6 unikalnych w sumie. Chciałbym je wyświetlić po jednym razie razem z policzeniem ich wystąpień.

Nie wychodzi mi ułożenie odpowiedniego zapytania. Próbowałem tak:

  1. SELECT COUNT(DISTINCT(`browser`)) FROM `table`


oraz tak:

  1. SELECT DISTINCT(`browser`), COUNT(`browser`) AS `COUNTED_BROWSER` FROM `table` WHERE `id`>0;


Ani jedno ani drugie nie zwraca tego czego oczekuję. W sumie nic dziwnego, bo drugie zwraca mi całkowitą liczbę rekordów z `browser`.
Działa należycie samo SELECT DISTINCT(`browser`) FROM `table` bo wiświetla każdy browser tylko raz, ale nie liczy mi ich wystąpień oczywiście.

Pomóźcie. Dzięki.

Napisany przez: nospor 18.10.2021, 13:39:15

zapomniales o GROUP BY

Napisany przez: sadistic_son 19.10.2021, 14:44:13

A rzeczywiśćie, GROUP BY rozwiązuje sprawę. Tak, zapomniałem o tym. Tak się zdarza, jak używa się SQLa raz na rok czy trzy lata wink.gif

Dzięki!

  1. SELECT `browser`, COUNT(`browser`) FROM `table` GROUP BY `browser`;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)