[RESOLU] SQL SELECT éviter doublons sur 1 valeur

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 : [RESOLU] SQL SELECT éviter doublons sur 1 valeur

Re: SQL SELECT éviter doublons sur 1 valeur

par Dams1987 » 19 août 2012, 16:44

Merci beaucoup, j'ai fais ça :
$sql_score2 = mysql_query("SELECT DISTINCT user FROM " . MA_TABLE . " WHERE game_id = '" . $game_id . "'  ");
$nb_joueurs = mysql_num_rows($sql_score2);
Et ça fonctionne trés bien !
En faite, c'était tout simple.

Re: SQL SELECT éviter doublons sur 1 valeur

par moogli » 19 août 2012, 11:58

salut,

ou alors, on oublie pas que groupe by s'utilise seulement quand on une fonction "de groupe" (comme count(), max, avg etc .) dans le select.

donc déjà une requete comme :
select count(*) from table where condition group by user
devrait être plus ce que tu cherche :)

@+

Re: SQL SELECT éviter doublons sur 1 valeur

par Zahnzao » 19 août 2012, 11:36

Je me suis planté... après quelques tests je remarque que je raconte des conneries :p

DISTINCT s'applique à tout les champs séléctionnés dans ta requete.

Donc en placant un "SELECT * " qui est déconseillé, il fait un distinct sur tout tes champs.

Le truc c'est de savoir quels champs tu dois récupérer un petit schéma de ta table serait la bienvenue.

Sinon tu as FIRST() qui recupère seulement la première valeur du champ séléctionné.

Re: SQL SELECT éviter doublons sur 1 valeur

par Zahnzao » 19 août 2012, 11:26

Salut,

edit: post à oublier...

;)

Re: SQL SELECT éviter doublons sur 1 valeur

par Dams1987 » 18 août 2012, 22:07

Merci pour la propostion, mais j'ai déjà essayé, et ça change rien, DISTINCT va éviter les doublons sur toute la table, pas uniquement sur une valeur.

Re: SQL SELECT éviter doublons sur 1 valeur

par Zahnzao » 18 août 2012, 21:59

Salut,

C'est pas DISTINCT que tu cherches ?

http://www.w3schools.com/sql/sql_distinct.asp

;)

SQL SELECT éviter doublons sur 1 valeur

par Dams1987 » 18 août 2012, 21:12

Bonjour !

Voilà, je viens cette foi, pour trouver une solution sur une requêtte SQL :
$sql_score2 = mysql_query("SELECT * FROM " . MA_TABLE . " WHERE game_id = '" . $game_id . "'  AND user != '" . $user[0] . "' GROUP BY user ");
$nb_joueurs = mysql_num_rows($sql_score2);
$nb_joueurs=$nb_joueurs+1;
Donc, j'ai toutes les parties joué de tous les jeux et de tous les joueurs sur cette table.
Et je veu trouver le nombre total de joueur sur un jeu.
Sachant que (game_id = "le jeu") et (user = "le joueur").

Avec ma requette ci dessus, j'optien le nombre total de parties, or moi je veu que 5 parties du même joueur, fasse "1" et non "5" !

J'éspére que j'ai réussi à être suffisament explicite, car les explication, c'est pas mon fort.