Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Suma rekordów z SELECT
deniol13
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


Przperaszam za nazwę tematu, nie wiedziałem jak nazwać odpowiednio do problemu. Chodzi o to że chcę pobrać X newsów z największą liczbą wyświetleń z ostatnich Y dni.

Tabela mt_views w której zapisane są ilości wyświetleń na poszczególne dni i miesiące wygląda tak
  1. news_id | month | day | views


Przykładowe wpisy

  1. 19 | 8 | 26 | 33
  2. 19 | 8 | 25 | 64
  3. 22 | 8 | 26 | 13
  4. 22 | 8 | 25 | 44
  5. 27 | 8 | 26 | 32


Chcę pobrać to w taki sposób aby mieć np dwa wyniki (X z początku tematu) których suma wyświetleń z ostatnich 5 dni (Y) jest największa, mógłbym pobrać wszystko a potem w pętli sobie to policzyć ale po co mam pobierać 900 wpisów skoro potrzebuję tylko 2 etc.


Mam nadzieję że wytłumaczyłem mój problem.

Zobrazuję to trochę inaczej

Zawartosc tabeli
  1. 19 | 8 | 26 | 33
  2. 19 | 8 | 25 | 64
  3. 22 | 8 | 26 | 13
  4. 22 | 8 | 25 | 44
  5. 27 | 8 | 26 | 32


Jak widzimy news o id 19 ma w ciagu ostatnich dwoch dni (26, 25) 97wyswietlen
ID 22: 57
IDl 27: 32

I ja chce pobrac dwa najpopularniejsze newsy czyli z taka zawartoscia tabeli powinno mi wyjsc news o id 19 (97 wyswietlen) i news o id 22 (57)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
deniol13
post
Post #2





Grupa: Zarejestrowani
Postów: 190
Pomógł: 2
Dołączył: 30.11.2009

Ostrzeżenie: (10%)
X----


udalo mi sie to zrobic, cus takiego

  1. SELECT v.news_id, SUM( v.views ) AS views_p, n.news_id, n.news_title, n.news_text
  2. FROM views v
  3. LEFT JOIN news n
  4. ON v.news_id = n.news_id
  5. WHERE year = ' . date( 'Y' ) . '
  6. AND day > ' . ( date( 'z' ) - ( $days + 1 ) ) . '
  7. AND day < ' . ( date( 'z' ) + 1 ). '
  8. GROUP BY v.news_id
  9. ORDER BY views_p DESC
  10. LIMIT ' . $this->Core->settings['popular_items']


jest tu pewien blad ;p ale da sie skorzystac
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: 15.10.2025 - 03:32