Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Top 10
Forum PHP.pl > Forum > Bazy danych > MySQL
fifi770
Muszę zrobić TOP 10 wyników.
Polega na tym że liczy ile dodał ktoś rekordów (w bazie oznaczony jest jako "id_user") i później ma wyświetlić Top 10 według największej zwróconej wartości...

Niestety mecze się od 2 dni i nie mogę wymyślic
drozdii07
http://webmade.org/kursy-online/sortowanie...-kurs-mysql.php + LIMIT 10
Brotchier
Chyba nie o to mu chodziło. Zrób tak:

  1. select id_user, count(*) as count from <tabela> group by id_user order by count desc


PS Jak pomogłem, daj Pomógł smile.gif
fifi770
Cytat(drozdii07 @ 21.06.2011, 18:16:22 ) *



Takie to wiem, mi chodzi że ma wyświetlic TOP 10 według wpisanych rekordów przez tą samą osobę np

Id_user|tresc
1| aa
1|asd
3|asdas
1|asdsa
5|asds
3|aaaa

i wyświetla tak:
Top 10
1. user o id 1 - 3 wpisy
2. user o id 3 - 2 wpisy
3. user o id 5 - 1 wpis

Cytat(Brotchier @ 21.06.2011, 18:32:57 ) *
Chyba nie o to mu chodziło. Zrób tak:

  1. select id_user, count(*) as count from <tabela> group by id_user order by count desc


PS Jak pomogłem, daj Pomógł smile.gif



Dzięki smile.gif nie pomyślałem o tym ;p działa super wink.gif
mortus
Cytat(Brotchier @ 21.06.2011, 18:32:57 ) *
Chyba nie o to mu chodziło. Zrób tak:

  1. select id_user, count(*) as count from <tabela> group by id_user order by count desc


PS Jak pomogłem, daj Pomógł smile.gif

Chyba nie za bardzo można użyć słowa kluczowego count, jako aliasu:
  1. SELECT id_user, count(*) AS liczba_wpisow FROM <tabela> GROUP BY id_user ORDER BY liczba_wpisow DESC


To rozwiązanie powinno dać oczekiwany rezultat.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.