Se connecter avec
S'enregistrer | Connectez-vous

requête mysql

Dernière réponse : dans Programmation

Bonjour,
J'ai besoin d'un chti coup d'pouce sur une requêteen php sur une bdd mysql.

disons que j'aiune BDD ainsi :

id nom description adresse autre
1 truc bidule blabla A
2 machin obiwan kenobi B
3 luke je suis ton pere A
4 truc machin chose A
5 doh Hmmm un donut C

Bref ca suffira
Je veux tout reprendre qui contient un certain argument dans la colonne autre par exemple, la aucun soucis (select * from t_truc where autre='A' etc...
mon probleme c'est que je veux exclure les lignes de la colonne nom par exemple ou y'a un doublon, par exemple je ne veux pas voir apparaitre dans ma réponse 2 fois truc

Dans l'exemple la au final a lieu d'obtenir les lignes 1, 3 et 4 je ne veux que les lignes 1 et 3

Merci d'avance et si j'ai pas été tres clair n'hésitez pas a me demander d'autre précisions.

Autres pages sur : requete mysql

Lassé par la pub ? Créez un compte

salut, sous mysql (c'est pas vraiment standard):
  1. select * from t_truc where autre='A' group by nom

mais il te sortira la 2eme ligne de truc

en sql plus standard, il faut appliquer un fonction d'aggrégat (min, max...) aux colonnes non concernées par le 'group by'

Bonjour,
essaye d'utiliser le DISTINCT sur le champ que tu veux afficher, par exemple

SELECT DISTINCT(autre) , * FROM t_truc
WHERE autre = "A"

je ne sais pas si ça va marcher ou pas dans ton exmple, mais ce mot clé permet d'afficher qu'une seule fois chaque enregistrement sélectionné, dans ton cas "autre"

oui c'est vrai dans le cas ou distict s'applique à une combinaison de champs, j'ai testé ça sur phpMyAdmin mais faut vraiment spécifier les champs à sélectionner
donc ça ne répond pas à 100% à la question mais je te remercie de m'avoir notifié par cette remarque, ça me permet de m'auto corriger
Lassé par la pub ? Créez un compte
Tom's guide dans le monde