Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Pobranie ilości rekordów z danymi
Lirdoner
post
Post #1





Grupa: Zarejestrowani
Postów: 500
Pomógł: 1
Dołączył: 29.09.2009

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


Witam, chcę pobrać wszystkie dane z tabeli z użytkownikami i chciałbym aby do tych danych dołączyła suma rekordów z innej tabeli w których pole user_id jest równe id danego użytkownika.
Próbowałem coś w tym stylu
  1. $sql = 'SELECT COUNT( c.id ) AS comments,u.* FROM uzytkownicy u, komentarze c WHERE u.id = c.user_id LIMIT 50';

jednak to zapytanie nie zwraca mi wszystkich rekordów. Jak mogę to poprawić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Troche mi sie zapomnialo o temacie, ale juz jestem ponownie (IMG:style_emoticons/default/smile.gif)

Dodajesz teraz dodatkowe warunki, by Twoje posty sie zgadzaly. Domyslnie jednak MYSQL nie jest w trybie ANSI, nie spotkalem jeszcze hostingu, ktory by tak ustawial, wiec nie czaruj mnie prosze (IMG:style_emoticons/default/smile.gif)

Zas wracajac do Twojego zapytania:
czy nie jest ono przypadkiem niemilosiernie nieoptymalne? Czy przypadkiem podzapytanie z left join nie wykonuje sie na nowo dla kazdego rekordu z tabeli users?
Mam akurat lokalnie bazke z duzą liczbą rekordow.
Wykonalem moje zapytanie - ulamek sekundy.
Wykonalem Twoje zapytanie - pierwsze odpalenie ponad 8 minut. Kolejne odpalenia juz szybciej

Nie zrozum mnie zle. Nie chodzi mi o zadną wojnę tylko o wyjasnienie sprawy, bo bardzo mnie to interesuje. Może w trybie ANSI to zapytanie wykonywane jest inaczej/szybciej niz na standardowych ustawieniach mysql?
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: 12.10.2025 - 12:16