Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL/PHP] Pomoc w napisaniu funkcji zliczającej średnią.
Shiro
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.01.2008

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


Witam mam 3 tablele o zawartości:

CODE
--
-- Struktura tabeli dla `db_dane`
--

CREATE TABLE `db_dane` (
`id` smallint(6) NOT NULL auto_increment,
`user_id` smallint(6) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;

-- --------------------------------------------------------

--
-- Struktura tabeli dla `db_ratings`
--

CREATE TABLE `db_ratings` (
`rating_id` smallint(5) unsigned NOT NULL auto_increment,
`rating_item_id` smallint(5) unsigned NOT NULL default '0',
`rating_type` char(1) NOT NULL default '',
`rating_user` smallint(5) unsigned NOT NULL default '0',
`rating_vote` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`rating_id`)
) TYPE=MyISAM ;

-- --------------------------------------------------------

--
-- Struktura tabeli dla `db_users`
--

CREATE TABLE `db_users` (
`user_id` smallint(5) unsigned NOT NULL auto_increment,
PRIMARY KEY (`user_id`)
) TYPE=MyISAM ;


Prosiłbym bardzo aby mi ktoś stworzył funkcję wyświetlającą średnią ocenę na podstawie zmiennej $user_id wziętej z user_id w db_users. Średnia wziętą ze wszystkich pól rating_vote (tzn. SELECT SUM(rating_vote) / COUNT(rating_item_id) ) gdzie rating_item_id zawiera id z db_dane w którym user_id to ta nasza zmienna podawana przy funkcji.

Od kilku godzin już się nad tym głowię i niestety brak postępów. Dopiero raczkuję w temacie mysql więc będę za wszelką pomoć wdzięczny
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Shiro
post
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 2.01.2008

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


To ja przepraszam za problemy, a dziękuję za pomoc.

Jeszcze jednak potrzeba chwilę nad tym kodem podłubać...

Na razie mam:
Kod
SELECT AVG(rat.rating_vote)
FROM ep_ratings rat ,
ep_poezja poezja
WHERE poezja.user_id = '187'
GROUP BY poezja.user_id
AND poezja.user_id = rat.rating_item_id

Ale nie otrzymuję wyniku 3,5 tylko 4.1366
3+4/2 = 3.5

Albo coś spartoliłem albo nie znam już kompletnie przyczyny.

Proszę jeszcze o umieszczenie w kodzie warunku
Kod
rating_type='W'
z ep_ratings bo nie wiem w którym to teraz miejscu dodać (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)

Bardzo Was przepraszam za moje nieuctwo, wierzę jednak że może dzięki temu tematowi się czegoś nauczę i dziękuję za cierpliwość (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

Ten post edytował Shiro 3.01.2008, 04:16:21
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 16:58