Requete SQL Max

volumeni -  
 volumeni -
Bonjour,
Alors je vais essayer d'etre clair.

J'ai une table USERS qui contient USERNAME, CREDITS, et ONLINE.
ONLINE est la date de la dernière connexion.

j'ai fait =
$lastconnect = mysql_query("SELECT username, credits, online FROM users ORDER BY `online` DESC LIMIT 5;");

ce qui me donne les 5 dernières personnes qui se sont connectées.

baloo736 - 40 points
Last connect -25 mins, -20 secs.
cris - 409 points
Last connect -1 heures, -31 mins, -48 secs.
poueet - 190 points
Last connect -6 heures, -25 mins, -22 secs.
malicia - 339 points
Last connect -6 heures, -42 mins, -19 secs.

Mais j'aimerais que ces 5 personnes ne soient pas classées par date de connexion,
mais celui qui a le PLUS de points en 1er.

le problème c'est que si je remplace ORDER BY `online`par ORDER BY `credits`, plus rien ne marche...
Configuration: Windows Vista
Firefox 3.5.5

2 réponses

  1. Le concombre frigorifié
     
    Salut

    je connais mal MySQL mais c'est très certainement ton LIMIT 5 qui renvoie les 5 premières lignes de ton résultat... et comme ton résultat était trié par date de connexion.

    tu peux essayer un truc (je te garantis pas que ça fonctionne) :
    Select *
    from (
      select username, credits, online
      from users
      order by online desc limit 5
      ) t1
    order by credits desc

    nb: dans certains systèmes, le T1 est obligatoire. Si en MySQL ça fonctionne et que ce n'est pas obligatoire, ne l'y laisse pas traîner
    0