![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, piszę sobie mały skrypt forum i mam problem z pobraniem ilości tematów i postów w danym dziale.
Obecnie moje zapytanie wygląda tak: (na razie pobieram tylko liczbę tematów)
Zapytanie to ma pobierać wszystkie działy dla danej kategorii (section_id) i wraz z nimi właśnie liczbę tematów. Niestety przy zastosowaniu COUNT(t.id) baza zwraca mi tylko jeden rekord a działów jest kilka ;/ Co z tym zrobić? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Wszelkie funkcje agregujące typu count(), max(), sum() itp działają razem z GROUP BY. Jeśli tego GROUP BY nie ma, mysql uznaje że grupujemy po wszystkich rekordach. Dlatego niezbędne jest dodanie GROUP BY id_dzialu lub innej kolumny, która jednoznacznie taki dział identyfikuje. Należy jednak pamiętać, że używając GROUP BY w SELECT mogą znaleźć się tylko te kolumny, które grupujemy lub agregujemy funkcją. By uzyskać pozostałe należy ponownie dołączyć tą samę tabelę.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 11:58 |