Se connecter / S'enregistrer
Votre question

requête mysql

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
28 Février 2008 13:09:48

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

28 Février 2008 21:26:09

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'
29 Février 2008 08:48:12

J'suis pas sûr d'avoir compris,y'a pas moyen donc de n'affichier qu'une fois la ligne truc ?
Sinon y'a pas une astuce pour au final n'en afficher qu'une sur le site ?
Contenus similaires
29 Février 2008 10:48:52

t'aurais pu tester la ligne, ca ne coute rien!
quand je dis qu'il va sortir la 2eme, je voulais dire par la qu'il va en sortir une seule mais pas la 1ere.
29 Février 2008 12:42:14

Ok désolé je suis au boulot là je ne peux pas tester :) 
Merci ;) 
29 Février 2008 15:40:40

habituellement on évite le "select *" : met plutot "select nom" par exemple.
29 Février 2008 15:53:35

peu importe, si tu veux récupérer toutes les colonnes, une '*' ou la liste des colonnes revient strictement au même.
1 Mars 2008 21:41:46

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"
2 Mars 2008 20:03:26

distinct s'applique à la ligne, pas à l'enregistrement.
2 Mars 2008 20:28:24

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
3 Mars 2008 07:51:01

En tous cas merci a tous de vous être penchés sur mon problème =)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS