Autor | Zpráva | ||
---|---|---|---|
Klicpera Profil * |
#1 · Zasláno: 26. 12. 2013, 08:46:43
Dobrý den,
mám v tabulce a DB sloupci modely hodnoty VARCHAR tohoto typu: Auta|Motorky|Lodě|Rakety a potřeboval bych nějak jedním výrazem seskupit statistiku všech výskytů údajů mezi oddělovačem "|" Očekávaný výsledek třeba: 1. Auta 42x 2. Motorky 33x 3. Lodě 29x ...atd. Prosím, nekamenujte mne zato že to mám dělané zrovna takto (blbě), předělávat strukturu sloupců nehodlám, jde jen o moji osobní localhostovou aplikaci pro radost a funguje to pro mé účely skvěle. Stránky pro lidi nedělám. Jen zkuste laikovi poradit jak na tu statistiku, děkuji moc ;-). |
||
Chuchycek Profil |
#2 · Zasláno: 26. 12. 2013, 08:51:55
Taky dobrý,
SELECT COUNT(modely) as pocet, modely FROM tabel GROUP BY modely |
||
Klicpera Profil * |
#3 · Zasláno: 26. 12. 2013, 09:06:02
Dík za snahu. Možná jsi mne nepochopil, nebo jsem to blbě napsal...
struktura tabulky (id = int, modely varchar) id - modely --------------------------- 1 - 'Auta|Motorky|Lodě|Rakety' 2 - 'Auta|Lodě|Rakety|Vlaky' 3 - 'Auta|Vlaky' ...atd Já nepotřebuji statistiku celých hodnot, ale navíc statistiku rozparsovaných údajů... třeba to jde jen pomocí PHP já nevím, nejsem zkušený. Poradíte, děkuji! |
||
Chuchycek Profil |
#4 · Zasláno: 26. 12. 2013, 09:33:45
Tak k tomu využí buď php funkci
str_repeat nebo sql funkci REPEAT .
|
||
Klicpera Profil * |
#5 · Zasláno: 26. 12. 2013, 10:06:12
Ale já ty data v tabulce (sloupcích již mám uložena, dle uvedeného příkladu), a str_repeat pouze vypisuje zadaný znak tolikrát kolik člověk žádá, to s mím dotazem vůbec nesouvisí.... To mi žádnou statistiku nevypočítá (neseřadí).
|
||
Chuchycek Profil |
Aha,
tak to použí při výpisu funckci explode a cout
$sql = ""; // tvoje sql $vyber = mysql_query($sql); while($vypis = mysql_fetch_array($vyber){ $data = explode('|', $vypis['modely']); echo $data[0] . count($data); } |
||
Časová prodleva: 10 let
|
0