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

Posty w temacie
- Apo   COUNT oraz GROUP   13.11.2007, 18:06:02
- - najtje   a mógłbym prosić o jakieś przykładowe dane z tych...   15.11.2007, 15:07:11


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: 19.08.2025 - 05:42