MySql : Selectionner sans champ en double

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 : MySql : Selectionner sans champ en double

par SiMax » 11 févr. 2009, 20:00

Ah ! J'avais mal compris le fonctionnement, tout fonctionne en fait, desolé :)

Par contre, si vous pouvez m'aider pour cela maintenant : http://www.phpfrance.com/forums/voir_sujet-246175.php :)

par sadeq » 11 févr. 2009, 19:58

Ce n'est pas possible avec DISTINCT. Mais peut être que ce qui te chagrine a une autre solution d'ordre logique. Faudra détailler la question.

par SiMax » 11 févr. 2009, 19:47

Merci pour l'adresse :)

Cependant, les caractéristiques sont insuffisantes par rapport aux autres hébergeurs... 10Mo de stockage et 1Go de traffic par rapport au reste ça fait trop light :)

Deuxième petite question : comment faire pour utiliser un DISTINCT sur un champ mais pas sur un second ?

par Stef » 11 févr. 2009, 19:44

hello,

rien à voir avec ton topic, mais pour info tu peux rajouter ce site dans la liste de tes hénergeurs gratuits sans pub:

http://alwaysdata.com

par SiMax » 11 févr. 2009, 19:31

Merci beaucoup !

par sadeq » 11 févr. 2009, 19:28

Tu dois mettre le modificateur DISTINCT juste après la commande SELECT.

Exemple:

Code : Tout sélectionner

SELECT DISTINCT champ1 FROM table LIMIT 10;
Le "DISTINCT" signifie "distinct row" c'est à dire "enregistrement unique tiré parmi plusieurs enregistrements de mêmes valeurs"

DISTINCT est appliqué au niveau de tout un enregistrement et vérifient donc que tous les champs sélectionné sont différents.

MySql : Selectionner sans champ en double

par SiMax » 11 févr. 2009, 18:22

Bonjour,

J'ai une base du type :

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `champ1` text NOT NULL, `champ2` text NOT NULL, `champ3` text NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Je souhaite récupérer le champ1 des 10 premiers enregistrements : jusque là, ça va.

Mais je souhaite que le champ1 de ces enregistrements soient différents. Si deux enregistrements ont le même champ1, on n'en sélectionne qu'un seul.

Merci d'avance pour votre aide :)