Se connecter / S'enregistrer
Votre question

PHP || SELECT Where

Tags :
  • Select
  • Programmation
Dernière réponse : dans Programmation
26 Janvier 2006 20:29:35

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.

Autres pages sur : php select where

26 Janvier 2006 20:34:56

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 ?
26 Janvier 2006 20:36:25

euh enfaite je doit obtenir à la fin un while ou j'affiche et que sa me met que 1 résultat
Contenus similaires
26 Janvier 2006 20:36:31

SELECT jour,nombre FROM stats_visites_jour ORDER BY jour DESC, nombre DESC LIMIT 1
26 Janvier 2006 20:38:04

Ouii mais la ma limit de 5 pour les jour est disparue !
26 Janvier 2006 20:38:37

Citation :

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



Oui, aussi ... :roll:
26 Janvier 2006 20:45:58

mais la enfaite dans la table j'ai :
  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 !
26 Janvier 2006 20:53:05

tu peux faire du WHERE jour=... pour les 5 jours
26 Janvier 2006 23:48:37

et comme ça ? :

  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 )
27 Janvier 2006 12:45:44

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"?
27 Janvier 2006 12:58:59

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é.
27 Janvier 2006 13:13:45

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 ?
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS