Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zapytanie MySQL budujące ranking
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

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


Witam serdecznie,
Mam następującą tabelę:
  1. CREATE TABLE IF NOT EXISTS `baza_pkt` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `idusera` int(11) DEFAULT NULL,
  4. `pkt` int(11) DEFAULT '0',
  5. `datadodania` date NOT NULL,
  6. `rodzajpkt` int(11) NOT NULL DEFAULT '0',
  7. UNIQUE KEY `id_2` (`id`),
  8. KEY `gt_id` (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;



W tabeli znajdują się rekordy z punktami użytkowników.
Wpisów dla każdego usera są różne ilości (może być jeden, dwa... 10... 1000 itp).

Chciałbym zbudować ranking użytkowników (czyli zsumowane punkty dla każdego usera + posortowanie od największej do najmniejszej ilości pkt).

Ma ktoś może pomysł jak to zrobić?

Bardzo proszę o pomoc.

Próbowałem coś takiego:

  1. SELECT id, idusera, pkt, rodzajpkt, FIND_IN_SET( pkt, (
  2. SELECT GROUP_CONCAT( pkt
  3. ORDER BY pkt DESC )
  4. FROM cms_users_pkt )
  5. ) AS rank
  6. FROM cms_users_pkt
  7. ORDER BY rank ASC

Ale sortuje mi to po ilości punktów - bez uwzględnienia tego że parę userów może mieć po parę rekordów (nie sumuje ich)

Czy mógłbym prosić o pomoc?

Z góry dziękuje,
Northwest

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: 23.12.2025 - 01:01