Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> COUNT oraz GROUP
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam

Chciałem zrobić mechanizm podobnych newsów. Czyli jeśli jest otwarty dany news to strona znajduje podobne newsy na zasadach:
- wyszukuje newsy która są umieszczone przynajmniej w 1 kategori w ktorej znajduje się głowny news
- wyszukuje newsy które posiadają przynajmniej 1 tag umieszczony w newsie głównym

Na tej podstawie zliczam ilość wystąpień tych danych za pomocą count (sumuje ilość wystąpień tagów oraz kategori). Na końcu zapytania chciałem pogrupować wyniki według id newsów lecz kiedy to zrobie wartości count zostaną zwiększone tyle razy ile powtarza się rekord danego newsa.
Dlatego nie mogę za bardzo operować potem na tabeli (LIMIT).

Zapytanie wygląda tak:
  1. SELECT * , count(tags.nid)+count(newscategories.nid) AS wartosciowosc // wartosci z count zwiekszaja sie z grupowaniu tags.nid
  2. FROM newscategories LEFT JOIN tags ON newscategories.nid = tags.nid
  3. WHERE tags.nid != 36 AND tags.name IN ('google', 'biznes') OR newscategories.nid IN (1, 2)
  4. GROUP BY tags.id // grupowanie bo unikalnej wartosci, wtedy count sie nie dodaje samoczynnie
  5. ORDER BY wartosciowosc DESC


Jak mogę pogrupować te wartości po "tags.nid" tak aby wartosciowosc nie została automatycznie powiększana n wystąpień danego newsa?

Pozdrawiam

Ten post edytował Apo 13.11.2007, 18:08:20
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
najtje
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 4.10.2007

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


a mógłbym prosić o jakieś przykładowe dane z tych tabel które są w joinie i oczekiwany przez ciebie wynik ?
Go to the top of the page
+Quote Post

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: 22.08.2025 - 21:51