Autor Zpráva
Honza__
Profil *
Dobrý večer, narazil jsem na problém při zobrazování jednoduché statistiky.
Mám mysql tabulku s názvem auta a v ní sloupce id,cena,barva apod.
Nás bude zajímat sloupec BARVA.
Potřebuji pomocí nějakého SQL dotazu zajistit, aby se vypsalo např.:
Černá: 25 aut
Šedá: 10 aut
Žlutá: 30 aut
Modrá: 12 aut
...
atd.

aniž bych musel pro každou barvu pokládat nový dotaz, děkuji
Alphard
Profil
select barva, count(*) pocet from tabulka group by barva
Honza__
Profil *
Promiňte, ale nevím, jak se tento dotaz dá poté využít dále...děkuji
imploder
Profil
RTFM
Alphard
Profil
imploder
na otázku WTF odpovíte RTFG? :-) trochu vstřícněji

Honza__
brete to jako jakýkoliv jiný dotaz s výběrem 2 sloupců (barva a pocet), ještě doplním název tabulky, zapomněl jsem, že jste ho oznámil
select barva, count(*) pocet from auta group by barva

můžete si to spustit v phpMyAdminu, konzoli nebo v něčem, co automaticky vypíše výsledky pro lepší pochopení
Honza__
Profil *
Alphard
Děkuji za objasnění, už to chápu.
Honza__
Profil *
Měl bych na Vás ještě jeden dotaz...
Výpis typu:
Šedá: 10
Modrá: 3
Žlutá: 14

ovšem za číslo bych ještě potřeboval vypsat kolik je to % z celkového množství aut, zkusil jsem do dotazu přidat SUM(count(*)) as `celkem` ovšem to mi hlásí chybu #1111 - Invalid use of group function, takže jsem nejspíš napsal blbost :-).
Pomůžete mi? Děkuji
Ssob
Profil
Zkus:
SELECT barva, count(*) AS pocet, count(*) / (SELECT COUNT(*) FROM auta) * 100 AS procent FROM auta GROUP BY barva

Předpokládá verzi mysql 5 nebo vyšší. Nevím jak to bude rychlé..

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0