Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zsumowanie w zapytaniu
deadwheel
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 8.11.2011

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


Moze nazwa tematu nie jest zbytnio trafna ale nie wiedzialem jak inaczej to napisac wiec opisze to tutaj.Posiadam 2 tabele
tabela comments
- commentID
- parentID
- type
tabela news
- newsID
- headline
- poster
- date

I teraz potrzebuje wyswieltic newsy wdg najbardziej komentowanych i nie wiem zbytnio jak to zrobic . Potrzebuje zsumowac rekordy w comments o danym id i wyswietlic je wdg najwiecej komentowanych i wyswietlic tytul autora i date.

Oto kilka rekordow z bazy zeby bardziej bylo wiadomo ocb

commentID parentID type
1 1 news
2 1 news
3 1 news
4 2 news

newsID headline poster date
1 fdfsdfsfs fdsfsd data
2 fdsfsdfsf gfgfgg data

parentID oznacza poprostu idnewsa

Z gory dziekuje za pomoc
Go to the top of the page
+Quote Post
JoShiMa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


Zrób zapytanie, które będzie sumowało komentarze po ID newsa. Następnie to potraktuj jako podzapytanie które wstawiasz w klauzuli FROM (Zamiast nazwy tabeli) i zapytaniem wyciągnij MAX


--------------------
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie wiem czy nie prościej będzie połączyć komentarze do newsów, potem grupować po id newsa i uporządkować po liczbie komentarzy malejąco. Pogrubienia zrobione celowo smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
djgarsi
post
Post #4





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

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


  1. SELECT comments.parentID, COUNT(comments.parentID) FROM news WHERE news.active='1' GROUP BY comments.parentID ORDER BY COUNT(comments.parentID) DESC


Pisane tak na szybko (sprawdź czy to zadziała u ciebie, bo miałem podobny problem i coś na tej zasadzie u mnie działało.)


--------------------
Go to the top of the page
+Quote Post
deadwheel
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 2
Dołączył: 8.11.2011

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


Chyba mniej wiecej wiem o co chodzi ale mam problem zrobilem sobie takie zapytanie do komentarzy:
  1. SELECT parentID, COUNT( * )
  2. FROM ws_U7a_comments
  3. GROUP BY parentID


i jest prawie wszystko ok ale nie wiem jak zrobic aby pokazywalo od najwiekszego COUNT bo gdy tutaj na koncu zapytania dam DESC to mi wypisze wdg najwyzszego parentID a nie wdg COUNT i nie wiem jak pozniej mam pobrac informacje z tabeli news wdg tego zapytania powyzej
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 Aktualny czas: 21.08.2025 - 23:39