Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem ze zliczaniem
Kinool
post 7.07.2004, 14:06:58
Post #1





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


struktora trzech tabel jest mnijwiecej taka (przedstawiam tylko pola potrzebne przy zapytaniu):

tab1 (id, user_id) tab2(id, t1_id, ocena) tab3(user_id, username, status)

w tab1 znajduja sie prace (newsy, artykuly, cokolwiek)\
w tab2 sa komentarze i oceny do prac z tab1
tab3 to info o userach id, name itp.

teraz tak chez zrobic zapytanie ktore zliczy mi srednia wszystkich prac i wyswietli to smile.gif

narazie mam zliczanie sredniej dla prac:

  1. SELECT tab3.user_id, tab1.id, tab3.username, (SUM(tab2.ocena)/count(tab2.id)) AS srednia FROM tab1, tab2, tab3 WHERE tab2.t1_id=tab1.id AND tab2.ocena>0 AND tab3.user_id=tab1.user_id GROUP BY tab1.id ORDER BY srednia DESC


ale to wywala mi srednie dla wszystkich prac, natomias chialbym uzyskac wynik sredniej wszystkich prac wiec potrzebowalbym jeszcze liczy prac i i sumy srednich jakie uzyskalem w moim zapytaniu powyrzej, staram sie to jakos placzyc ale mi nic sensownego nie wychodzi sad.gif

wiec prosze o pomoc, moze ktos wie jak to zlicyc ? smile.gif

PS. zapomnialem o relacjach smile.gif tab1.id=tab2.t1_id i tab1.user_id=tab3.user_id (nic skomplikowanego)

Ten post edytował Kinool 7.07.2004, 14:09:22


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
jbiz
post 7.07.2004, 14:29:38
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 10.03.2004
Skąd: z duszy :]

Ostrzeżenie: (20%)
X----


mysql ma funkcje AVG, probowales?
Go to the top of the page
+Quote Post
Kinool
post 8.07.2004, 13:44:35
Post #3





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


nie poradzielm sobie z tym wiec rozbije na dwa zapytania a teraz jeszcze jedno pytanie smile.gif czy mozna laczyc jkos HAVING questionmark.gif powiedzmy ze mam COUNT(*) as iosc i AVG(ocena) as ocena i chcialbym by wyswietlao tylko te z iloscia wieksza niz np 10 a srednia np. 4.5 smile.gif jak dam HAVING ilosc>10 to ok ale jeszcze warunek sredniej (AND nie dziala)


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.06.2025 - 18:46