Autor | Zpráva | ||
---|---|---|---|
yellow Profil |
#1 · Zasláno: 20. 3. 2008, 08:41:15
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 |
#2 · Zasláno: 20. 3. 2008, 09:15:58
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 |
#3 · Zasláno: 20. 3. 2008, 09:19:28
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 * |
#4 · Zasláno: 20. 3. 2008, 09:19:55
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 |
#5 · Zasláno: 20. 3. 2008, 12:12:02
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 * |
#6 · Zasláno: 20. 3. 2008, 12:28:24
např.
select count(*) pocet_pred from (SELECT nick FROM pusinky GROUP BY nick having count(*)>96) t |
||
nightfish Profil |
#7 · Zasláno: 20. 3. 2008, 12:38:07
ř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 |
#8 · Zasláno: 20. 3. 2008, 16:51:34
Díky :-)
|
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0