Selection de valeurs uniques...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Selection de valeurs uniques...

par didjiridou » 09 juin 2005, 17:13

Ca y est, cela fonctionne :)

Voici mon code :

Code : Tout sélectionner

$requete = "SELECT pseudo , MAX(score) as score2 , MIN(secondes) as secondes2 , DATE_FORMAT(date,'%d-%m-%Y') AS datefr FROM quest GROUP BY pseudo order by score2 DESC, secondes2 ASC LIMIT 30";
Merci à vous :)

par didjiridou » 09 juin 2005, 17:06

Il faudrait dans ce cas ci que cela affiche :

b:17
c:14
a:7

donc que cela soit ordonné par la valeur du score, puis ensuite par la veleur du tps du questionnaire que je n'ai pas encore.

J'ai donc mis ce code ci :

Code : Tout sélectionner

$requete = "SELECT pseudo , MAX(score) , secondes , DATE_FORMAT(date,'%d-%m-%Y') AS datefr FROM quest GROUP BY pseudo order by score DESC";
Mais apparemment cela ne fonctionne pas! :?

par zeus » 09 juin 2005, 17:02

Attend, je ne comprend pas très bien, j'ai construit une requete de manière à ce que la table

a:5
b:3
a:7
c:1
c:14
a:1
b17

retourne

a:7
b:17
c:14

C'est pas ça ?
Je n'ai pas compris ta dernière réponse

par didjiridou » 09 juin 2005, 16:54

Cela ne fonctionne pas ;)

Si le meme utilisateur a fait 5 questionnaires et que le premier etait pas le meilleur, il va correctement afficher le meilleur score, mais il sera a la position de son premier questionnaire :P

Je ne sais pas si c'est tres compréhensible tout ca :P

par zeus » 09 juin 2005, 14:40

!!!
T'as dit que tu ferais un effort :lol:
Oups

c'est plus fort que moi :oops:

Mais continuez à me le faire remarquer, je crois que c'est un bon moyen pour que j'arrete

par Rei Itchido » 09 juin 2005, 14:38

!!!
T'as dit que tu ferais un effort :lol:

par zeus » 09 juin 2005, 14:37

Excuse moi,j'ai écrit n'importe quoi

Tiens, celle là fonctionne, j'ai testé !!!

Code : Tout sélectionner

SELECT nom, MAX(score) FROM table_score GROUP BY nom

par Cyrano » 09 juin 2005, 14:35

Ça , ça devrait répondre à ta question

Code : Tout sélectionner

SELECT DISTINCT(nom) MAX(score) FROM Table_score GROUP BY nom

par didjiridou » 09 juin 2005, 14:30

Code : Tout sélectionner

SELECT nom, score FROM Table_Score GROUP BY nom HAVING MAX(score)
Devrait grouper les scores par nom et afficher le score le plus grand
Cela ne fonctionne pas :? Plus rien ne s'affiche :?

Mon champ score est en int, est ce que c'est bon?

par didjiridou » 09 juin 2005, 14:25

Ben le probleme c'est que Group by doit se trouver avant order by... Et donc il me selectionnes automatiquement en fonction de l'id j'ai l'impression :(

par zeus » 09 juin 2005, 14:24

Code : Tout sélectionner

SELECT nom, score FROM Table_Score GROUP BY nom HAVING MAX(score)
Devrait grouper les scores par nom et afficher le score le plus grand

par Rei Itchido » 09 juin 2005, 14:20

Peut-être ORDER BY score DESC GROUP BY personne?

Selection de valeurs uniques...

par didjiridou » 09 juin 2005, 14:17

Bonjour à tous,

Je souhaiterais prendre dans ma base de donnée des valeurs uniques.

Donc mon exemple concret, j'ai une table avec les valeurs de ma liste des scores de mes questionnaires.

Pour le moment, si une personne fait les 10 premiers score, elle sera affichée 10 fois. Je souhaiterais donc, que cette personne n'apparaisse qu'une seule fois et que l'on affiche son meilleur score.

J'ai deja essayé Group by, mais le probleme est qu'il ne va pas specialement m'afficher le meilleur score :?

Quelqu'un sait il m'aider? :)

Merci :)

MAx