[ regava @ 11.12.2005. 12:07 ] @
Imam tabelu u bazi koja sadrzi podatke o proizvodima.Sada bih zeleo da dodam jos jednu tabelu koja ce sadrzati ocene tih proizvoda (prostu tabelu npr. Id_proizvoda i ocena od 1-5). Sada bih trebao da napravim upit koji ce kao rezultat davati srednju ocenu, odnosno treba da saberem sva polja sa ocenom i podelim sa brojem polja npr ciji je ID_proizvoda isti. Jos nesto, radi se o MySql bazi.
[ japan @ 11.12.2005. 12:35 ] @
Code:
select avg(ocena) from tabela group by id



[Ovu poruku je menjao japan dana 11.12.2005. u 13:41 GMT+1]
[ regava @ 11.12.2005. 13:40 ] @
Koliko sam shvatio avg komanda racuna srednju vrednost cele kolone. Znaci trebalo bi jos da dodam where Id_proizvoda = 0050 da bih izdvojio srednju ocenu za taj proizvod.
[ Dejan Topalovic @ 11.12.2005. 14:14 ] @
Gornji upit ti daje srednju ocjenu za svaki proizvod, a ako zelis da saznas srednju ocjenu jednog odredjenog proizvoda, onda moras da upit ogranicis tako kako si i sam rekao: WHERE id = 50
[ japan @ 11.12.2005. 14:56 ] @
gornja komanda ti vraca prosek za svaki proizvod, kako vec rece stripy. znaci, ako imas tabelu:
Code:

id       ocena
------------
1        3
1        5
1        4
2        5
2        5

onda ti
Code:
select id,avg(ocena) from tabela group by id

vraca tabelu
Code:

id       avg(ocena)
------------------
1        4
2        5

ovo mozes da ogranicis sa where da bi dobio prosecnu ocenu za konkretan proizvod, kao sto je vec konstatovano...


kad ne bi imao "group by", mogao bi da izvrsis samo
Code:
select avg(ocena) from tabela

i onda bi to bila prosecna ocena svih proizvoda, bez obzira na id.

proguglaj malo ili prelistaj neku literaturu vezano za grupisanje i agregatne funkcije ;)

[Ovu poruku je menjao japan dana 11.12.2005. u 16:02 GMT+1]
[ regava @ 12.12.2005. 18:23 ] @
Napravio sam upit po vasim smernicama i sve je OK. Zahvaljujem svim ucesnicima na pomoci.