Autor Zpráva
yellow
Profil
Mám tabulku mysql.
Je tam sloupec "nick".
Chtěl bych položit z PHP na databázi dotaz:
najdi počet výskytů jednotlivých "nicků" ve sloupci a seřaď je od nejčastěji vyskytujícího se.
Aby byl výsledek třeba:
Franta 126
Anička 96
Pavel 32

něco jako todle:
$vlozit = "SELECT nick, COUNT(nick)suma FROM `pusinky` GROUP BY `suma` DESC";

nebo
$vlozit = "SELECT nick, COUNT(nick) FROM `pusinky` GROUP BY COUNT(nick) DESC";


ale todle mi nefunguje.

Díky za rady
yellow
Profil
hm, tak sice tomu nerozumím a nechápu proč? Ale funguje asi toto:

SELECT nick, COUNT(nick) pocet FROM pusinky GROUP BY nick DESC ORDER BY pocet DESC 


a kdyz oddelam group by nic a nebo kdyz dam pocet do group by tak to nefunguje :-D
Alphard
Profil
vždyť je to logické, přečti si nějaký článek o group http://www.linuxsoft.cz/article.php?id_article=864

tady seskupuješ podle nicku, ne podle počtu
K
Profil *
ale ty prece chces aby to groupovalo podle nicku a bylo serazene podle poctu. Kdyby to groupovalo podle poctu tak pokud by nektere nicky meli stejny pocet vyskytu tak je to zgroupuje..
yellow
Profil
Tak to nahoře už chápu, ale zase se trápím s něčím jiným :-)

Když vemu výsledek toho dotazu co jsme teda už vyřešili:
SELECT nick, COUNT(nick) pocet FROM pusinky GROUP BY nick DESC ORDER BY pocet DESC


jak ho upravit tak, abych získal z této tabulky takto vytvořeného dotazu:
- kolikátý od vrchu je nějaký zadaný nick
a nebo
- kolik nicků má v této nově vytvořené tabulce počet výskytů víc než nějaký zadaný číslo)

Chci todle:
SELECT nick, COUNT(nick) pocet FROM pusinky GROUP BY nick DESC ORDER BY pocet DESC

z toho je tabulka
Franta 126
Anička 96
Pavel 32


A já chci vědět kolikátá od vrchu je Anička
a nebo jestli je to jednodušší
kolik nicků má v této tabulce větší číslo než 96

díky za rady
člověku, než to zjistí, tak se mu to zdá poněkud složitý .-)
Kajman_
Profil *
např.
select count(*) pocet_pred from (SELECT nick FROM pusinky GROUP BY nick having count(*)>96) t
nightfish
Profil
řešení založené na příkladu uvedeném v databázovém FAQ
set @radek=0
select @radek:=@radek+1 rownum, nick, COUNT(nick) pocet FROM pusinky GROUP BY nick ORDER BY pocet DESC
yellow
Profil
Díky :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.