![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 4 Dołączył: 16.08.2006 Ostrzeżenie: (20%) ![]() ![]() |
Witam
Mam mały problem z wyciąganiem danych na podstawie dwóch innych tabel dokładnie chodzi mi o to że musze z tabeli 'uzytkownicy' wyciagnac userow na podstawie ilosci dodanych komentarzy i ocen gdzie komentarze i oceny są w osobnych tabelach. Zarówno w tabeli komentarzy i ocen jest jedno pole które określa kto napisał ten komentarz czy kto dodał ta ocenę. Udaje mi się wyciągać te dane ale tylko na podstawie jednej tabeli (może pokaże przykład):
Teraz jak to przerobić aby wyciągnąć jeszcze ilość ocen i posortować wg. ilosc_komentarzy+ilosc_ocen |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 88 Pomógł: 4 Dołączył: 16.08.2006 Ostrzeżenie: (20%) ![]() ![]() |
Można też tak sprawdzałem i działa
To zapytanie działa źle bo sprawdzałem to na małych liczbach i widziałem błąd. Przy pierwszej osobie pobiera znacznie większą liczbę a do tego jeśli ktoś i skomentował i ocenił coś to w obu wartościach (komentarzy i ocen) pokazywało tą samą liczbę. Sposób który działa też jest nie najwydajnieszy bo widziałem, jednak będe planował aby ranking z tymi wartościami aktualizował się co 24h (co moim zdaniem nie będzie tak obciążało bazy danych - chyba że się mylę). Do tego mam takie małe pytanie jeśli dodam jeszcze warunek WHERE 'cos=innego' to czy baza najpierw sprawdza rekordy pod względem tego warunku i dopiero potem oblicza te ilości (komentarze i oceny) czy oblicza wartości dla wszystkich i dopiero potem odrzuca te rekordy które nie spełniają warunku. Bo po czasie wykonania widziałem że wykonuje sie szybciej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 07:18 |