Autor | Zpráva | ||
---|---|---|---|
wolfik Profil |
#1 · Zasláno: 1. 2. 2011, 19:46:04
Dobrý den,
do databáze jsem si ukládal data z dotazníku. Většina byla radio group, do databáze jsem si ukládal pouze číselné hodnoty 1-5. nyní bych si chtěl do php vypsat: např. kolikrát v otázce č. 5 označili radio="2". zatím to mám takto, což funguje, ale cítím, že to není moc správné. SELECT count( `znalosti` ) FROM `dotaznik` WHERE znalosti=1 SELECT count( `znalosti` ) FROM `dotaznik` WHERE znalosti=2 SELECT count( `znalosti` ) FROM `dotaznik` WHERE znalosti=3 SELECT count( `znalosti` ) FROM `dotaznik` WHERE znalosti=4 SELECT count( `znalosti` ) FROM `dotaznik` WHERE znalosti=5 řeší si to na úrovni databáze nebo php? Děkuji |
||
xmark Profil |
#2 · Zasláno: 1. 2. 2011, 19:56:13
Proč počítáš výskyty všech hodnocení, když tě zajímá jen znalosti=2 a řekněme otazka=5?
|
||
wolfik Profil |
#3 · Zasláno: 1. 2. 2011, 19:59:18 · Upravil/a: wolfik
Nene, špatně jsem se asi vyjádřil... chci znát všechny odpovědi.
toto je mým záměrem: otázka č.1 možnost 1 = 8x možnost 2 = 1x možnost 3 = 0x možnost 4 = 27x možnost 5 = 2x otázka č.2 možnost 1 = 0x možnost 2 = 127x možnost 3 = 45x možnost 4 = 77x možnost 5 = 6x . . . |
||
Tori Profil |
#4 · Zasláno: 1. 2. 2011, 20:27:18 · Upravil/a: Tori
SELECT COUNT(*) AS 'pocet' FROM dotaznik WHERE otazka = 5 GROUP BY znalosti edit: Měla jsem přehozené GROUP BY a WHERE. Opraveno. |
||
wolfik Profil |
#5 · Zasláno: 1. 2. 2011, 20:38:46 · Upravil/a: wolfik
Tori:
"znalosti" je vlastně název sloupce s otázkou č.5 Sloupce (jakožto názvy otázek) jsem si bohužel neoznačil jako: otazka1 - otazka13, ale pokazde jinak (kdojsi, znalosti, namluveny, hudba, zpracovani, prinos, web, doporucil, libilo, nelibilo, vylepsit), tudíž nemůžu použít WHERE otazka = 5 Ale funguje to ikdyž odmažu tu podmínku. Zbytek asi v php přes nějaký cyklus, že? Děkuju Tori |
||
wolfik Profil |
#6 · Zasláno: 1. 2. 2011, 20:44:30
No ještě jeden problém...
za normalních okolností to vypíše 3 8 16 4 2 ale co když u možnosti č.3 nebude ani jeden hlas, tím pádem to vynechá a bude to vypadat takto: 3 8 4 2 a já nebudu vědět, která z možností byla vynechána. potřebuju, aby mi to vypsalo dva sloupečky s tím, že v první bude číslo možnosti a v druhém četnost. 1 56 2 3 23 4 15 5 6 takže ikdyž nějaká možnost nebude mít žádný počet, budu vědět, která to je. |
||
Tori Profil |
#7 · Zasláno: 1. 2. 2011, 21:17:06 · Upravil/a: Tori
Šlo by zjistit možnost + četnost:
SELECT znalosti, COUNT(*) AS 'pocet' FROM dotaznik GROUP BY znalosti Při tomhle schématu (1 řádek = 1 respondent, jednotlivé otázky jako sloupce) si ale myslím, že budete muset použít jeden dotaz na každou otázku zvlášť. |
||
wolfik Profil |
#8 · Zasláno: 1. 2. 2011, 21:37:19 · Upravil/a: wolfik
Tori:
textová podoba možnosti 1-5 jsou u každé otazky jiné. V databázi je nemám uložené. Ale v PHP se už dokážu zeptat na číslo možnosti a doplnit tomu textovou podobu. „Při tomhle schématu (1 řádek = 1 respondent, jednotlivé otázky jako sloupce) si ale myslím, že budete muset použít jeden dotaz na každou otázku zvlášť.“ s tím počítám. Ale je to pořád lepší než v mém první příspěvku. Děkuju Tori, Kajman |
||
Kajman_ Profil * |
#9 · Zasláno: 1. 2. 2011, 23:57:31
Ještě můžete groupovat dle otázky i znalosti...
SELECT otazka, znalosti, COUNT(*) AS 'pocet' FROM dotaznik GROUP BY otazka, znalosti ORDER BY 1, 2 |
||
Časová prodleva: 13 let
|
0