Page 1 sur 1

MySql : Selectionner sans champ en double

Posté : 11 févr. 2009, 18:22
par SiMax
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 :)

Posté : 11 févr. 2009, 19:28
par sadeq
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.

Posté : 11 févr. 2009, 19:31
par SiMax
Merci beaucoup !

Posté : 11 févr. 2009, 19:44
par Stef
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

Posté : 11 févr. 2009, 19:47
par SiMax
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 ?

Posté : 11 févr. 2009, 19:58
par sadeq
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.

Posté : 11 févr. 2009, 20:00
par SiMax
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 :)