Autor | Zpráva | ||
---|---|---|---|
svast Profil |
#1 · Zasláno: 3. 4. 2011, 21:39:17
Zdravím, potřeboval bych spočítat data ze dvou sloupců tabulky. Jde o komentáře uživatelů k jednotlivým článkům, tzn. V prvním sloupci mám číslo označující jednotlivé články, které se může opakovat např. (1,1,2,3,3,3,4,5,5, ...) a ve druhém je hodnocení (1-5) těchto článků od uživatelů např. (2,3,4,3,5,2,1,2,4 ....), takže ku článku 3 patří hodnocení 3,5,2. Nevím jak zobrazit výsledek, který by mi spočítal průměrné hodnocení ke konkrétnímu článku (u č.3 by se tedy zobrazilo 3,33). Díky
|
||
TomasJ Profil |
#2 · Zasláno: 3. 4. 2011, 21:59:06 · Upravil/a: TomasJ
Kód jsem kvůli zbytečnosti smazal, viz. [#5].
|
||
Tori Profil |
#3 · Zasláno: 3. 4. 2011, 21:59:41 · Upravil/a: Tori
svast:
Koukněte se, jak se používá sql funkce Odkazy na zdejší diskusi, linuxsoft. Edit: Doufám tedy, že jsem správně pochopila, že ID článků a jejich hodnocené je každé v samostatném řádku, tedy ID | hodnocení 1 | 2 1 | 3 2 | 4 3 | 3 Edit2 (neodolala jsem): Ad „ku článku“: O používání "ku" místo "k" doporučuji k přečtení krátký článeček ze zajímavého časopisu Naše řeč, roč.1926. |
||
Bertram Profil |
#4 · Zasláno: 3. 4. 2011, 22:05:33
zvolil bych:
SELECT clanek,sum(hodnoceni)/count(*) as prumerne_hodnoceni FROM tabulka GROUP BY clanek |
||
TomasJ Profil |
#5 · Zasláno: 3. 4. 2011, 22:08:54 · Upravil/a: TomasJ
|
||
Bertram Profil |
#6 · Zasláno: 3. 4. 2011, 22:14:29 · Upravil/a: Bertram
Ještě lépe:
SELECT clanek,avg(hodnoceni) as prumerne_hodnoceni FROM tabulka GROUP BY clanek |
||
svast Profil |
#7 · Zasláno: 4. 4. 2011, 22:11:18
Tak už to celkem funguje díky všem.
Tori: pochopila jste správně, jedno id a jedno hodnocení na řádku. Jinak dík za odkazy a poučení :-) Bertram: tohle je přesně ono, už jsem to řešil nějakou dobu předtím, ale měl jsem chybu jinde. Jen ještě řeším problém, pokud nejde o celá čísla. AVG (stejně jako SUM) mi totiž číslo 2,5 počítá jako 2, takže ten průměr vychází jinak. |
||
Kajman_ Profil * |
#8 · Zasláno: 4. 4. 2011, 22:18:37
Jen ještě řeším problém, pokud nejde o celá čísla Neukládejte čísla do typu varchar! Použijte decimal případně float. |
||
svast Profil |
#9 · Zasláno: 4. 4. 2011, 23:16:04
Kajman:
Zkoušel jsem oba, ale problém to neřeší. Například čísla 2,5 ;4 ;4 ;5 mi to sčítá 3,75 |
||
Kajman_ Profil * |
#10 · Zasláno: 4. 4. 2011, 23:34:38
jste si jistý ze máte dobře uloženo 2.5?
|
||
svast Profil |
#11 · Zasláno: 5. 4. 2011, 21:30:53
Samozřejmě jsem měl uloženo 2,5
Funguje to, díky za pomoc. |
||
Časová prodleva: 13 let
|
0