Tom's Guide > Forum > Programmation > PHP || SELECT Where
Mot :    Pseudo :           
 

Dites quelqu'un sais comment transformer sa :

"SELECT jour,nombre FROM stats_visites_jour ORDER BY jour DESC LIMIT 0,5 WHERE nombre = "XXX" ";

Afin que le "XXX" signifie nombre le plus grand.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Citation :


DanielCosta a écrit :
Dites quelqu'un sais comment transformer sa :

"SELECT jour,nombre FROM stats_visites_jour ORDER BY jour DESC LIMIT 0,5 WHERE nombre = "XXX" ";

Afin que le "XXX" signifie nombre le plus grand.



Apparement tu ne sélectionnes que 5 résultats dans ta base, tu n'as donc qu'à les sortir tous et les trier avec une boucle conditionnelle non ?

Répondre à A380@IDN

euh enfaite je doit obtenir à la fin un while ou j'affiche et que sa me met que 1 résultat

Répondre à DanielCosta@IDN

SELECT jour,nombre FROM stats_visites_jour ORDER BY jour DESC, nombre DESC LIMIT 1

Répondre à ritzle

Ouii mais la ma limit de 5 pour les jour est disparue !

Répondre à DanielCosta@IDN

Citation :


ritzle a écrit :
SELECT jour,nombre FROM stats_visites_jour ORDER BY jour DESC, nombre DESC LIMIT 1




Oui, aussi ... :roll:

Répondre à A380@IDN

mais la enfaite dans la table j'ai :

Code :
  1. 29-01-2006  6
  2. 28-01-2006 15
  3. 27-01-2006 13
  4. 26-01-2006 9
  5. 25-01-2006 10
  6. 24-01-2006 11



Si je met :
"SELECT * FROM stats_visites_jour ORDER BY jour DESC LIMIT 2";
ça affiche :
29-01-2006 6
28-01-2006 15

Si je met:
"SELECT * FROM stats_visites_jour ORDER BY nombre DESC LIMIT 1";
ça affiche :
28-01-2006 15

Si je met :
"SELECT * FROM stats_visites_jour ORDER BY jour DESC, nombre DESC LIMIT 1";
ça affiche :
29-01-2006 6

Et ce que je veut moi c'est le nombre le plus elevé des derniers 5 jours !

Enfaite faudrais faire une fusion des deux premiers select !

Répondre à DanielCosta@IDN

tu peux faire du WHERE jour=... pour les 5 jours

Répondre à ritzle

et comme ça ? :

Code :
  1. SELECT *
  2. FROM stats_visites_jour
  3. WHERE jour > curdate( ) - INTERVAL 5 DAY
  4. AND nombre = ( SELECT max( nombre )
  5.               FROM stats_visites_jour
  6.               WHERE jour > curdate( ) - INTERVAL 5 DAY )

Répondre à ataofeal

Non toujours pas !

Au cas ou le champ jour dans mysql et bien il est type VARCHAR 255.

Mais il y a pas moyen de faire WHERE nombre = "LE PLUS GRAND"?

Répondre à DanielCosta@IDN

Citation :


DanielCosta a écrit :
Non toujours pas !

Au cas ou le champ jour dans mysql et bien il est type VARCHAR 255.

Mais il y a pas moyen de faire WHERE nombre = "LE PLUS GRAND"?



Si jour est une date du type 27-01-2006 il te faut le mettre en type DATE ... 0000-00-00. Ensuite, la soluce de Atéofal marchera.

Il faut utiliser MAX()

Seconde chose ...

Le nombre (le champ) doit etre en int ...

troisieme chose, c'est select truc,muche from latable where machin='truc' order by xx limit 0,5

regarde ce que tu a écris dans ton premier post, tu as inversé.

Répondre à okinou

Oui tu as raison merci beaucoup a toi okin et aux autres !

Mais un dernier truc. date j'ai mis comme ça :
date('Y-m-d');

Est ce que si je met date('Y-d-m'); ça change quelque chose? théoriquement ?

Répondre à DanielCosta@IDN
Tom's Guide > Forum > Programmation > PHP || SELECT Where
Aller à :

Il y a 2444 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens