Autor Zpráva
Anonymní
Profil *
mam mysql tabulku o 10 sloupcich a desitkach radku a potreboval bych vypsat slova, ktere se v te cele tabulce objevuji vickrat a kolikrat, ale nevim jak to udelat, kdyz je jedno, v jakym sloupci to je. diky za radu
Kajman_
Profil *
Asi dát všechny slopečky přes union all do jednoho a pak na tím vším group.
Leo
Profil
Mate nejspis blbe navrh databaze. Ta slova jsou ve sloupcich jak ulozena, co sloupec to jedno slovo v danem radku nebo je jich tam vic? Leo
Anonymní
Profil *
lip to navrhnout asi nejde, ale vyjadril jsem se trochu nepresne. potrebuju zjistit, ktere bunky jsou stejne a kolikrat. je to jakoby obdoba hlasovani. pro kazdeho jednotliveho uzivatele je 10 moznych poli kam napsat slovo maximalne slovni spojeni. a chci pocitak ktery slovo se v cele tabulce objevi alespon dvakrat.
Leo
Profil
"lip to navrhnout asi nejde"

No lip by se vam s tim pracovalo, kdybyste nemel 10 sloupcu, ale 10 radku :-) Leo
Anonymní
Profil *
jenze prvni sloupec je jmeno uzivatele. podle vysledku poctu slov pak mezi ne budu rozdelaovat body. a s kazdym vyplnovatelem pribyde jeden samozrejme radek. ale furt nevim jak spocitat ty vyskyty... :-/
Leo
Profil
"jenze prvni sloupec je jmeno uzivatele."

A to je problem? Leo
Anonymní
Profil *
neni, muzu to kildne aplikovat na celou tabulku, protoze chci jen vysledky co se objevuji vickrat a jmeno uzivatele je unikatni, ale neznam ten algoritmus. poradite mi?
Leo
Profil
CREATE TABLE `uzivatele` (
`IDuzivatele` int(11) NOT NULL auto_increment,
`jmeno` char(20) NOT NULL,
PRIMARY KEY (`IDuzivatele`),
UNIQUE KEY `jmeno` (`jmeno`)
)

CREATE TABLE `slova` (
`IDpolozky` int(11) NOT NULL auto_increment,
`IDuzivatele` int(11) NOT NULL,
`text` char(50) NOT NULL,
PRIMARY KEY (`IDpolozky`)
)

Leo
Anonymní
Profil *
aha, tak my sme se nepochopili :) dekuji za napsani tabulek, ale ja tu tabulku nemuzu menit. je zavisla na dalsich vecech nejen na tom hledani. co ja potrebuji je zdrojak, ktery mi vezme vsechny ty sloupecky a udela z nich jeden dlouhej ve kterym pak zjisti kolikrat je tam kazdej radek (vlastne bunka) stejna a vypise mi to sestupne i s poctem vyskytu...
Anonymní
Profil *
a nejlepe to ulozi do nove tabulky s 2 sloupci slovem a jeho poctem vyskytu :-/
Leo
Profil
Tak to vam neporadim, Leo
Kajman_
Profil *
Však jsem už psal, jak na to.

select slovo, count(*) from
(
select sloupec1 as slovo from tabulka
union all
select sloupec2 from tabulka
union all
select sloupec3 from tabulka
union all
select sloupec4 from tabulka
union all
select sloupec5 from tabulka
union all
select sloupec6 from tabulka
union all
select sloupec7 from tabulka
union all
select sloupec8 from tabulka
union all
select sloupec9 from tabulka
union all
select sloupec10 from tabulka
) tmp group by slovo order by 2 desc


A taky si myslím, že je to nesprávně navrhnuté.
Anonymní
Profil *
ok, tak jsem pro vsechny navrhy jak to vylepsit jestli je to spatne navrhnute. Takze mam databazi uzivatelu, kazdy uzivatel smi na ruzne tema napsat 10 ruznych slov ci slovnich spojeni. mohl bych je samozrejme donutit tech 10 slov psat do jednoho textboxu a jednotliva slova oddelovat carkami (prave kvuli tem slovnim spojenim), ale to plno uzivatelu splete nebo nedodrzi, tak mam 10 ruznych textboxu pro kazdeho s tim, ze kazde jednotlive muzou behem dne menit a na konci dne chci spocitat vsechna slova od vsech uzivatelu a zjistit pocet vyskytu.
Kajman_
Profil *
uzivatelovo_id id_tematu datum poradi_textboxu slovo

PK na první ctyři sloupečky, index na poslední a pak velice podobný select jak je výše.
Toto téma je uzamčeno. Odpověď nelze zaslat.