Faire une sorte de group by sur mysql/ php

Fermé
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 - 19 oct. 2011 à 19:50
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 - 20 oct. 2011 à 13:52
Bonjour,

j aimerais fair une requete du genre :
si on a :

a b
a c
b a
b c

alors la requete me donne :

a b
a c
b c

en gros faire une sorte de groupby sur 2 colone


A voir également:

2 réponses

Que donne ceci?

SELECT DISTINCT champ1, champ2 from table WHERE champ1 <> champ2

Pas sûr du résultat mais pour éviter les redondances il faut utiliser DISTINCT et nom GROUP BY.

Il suffit de traduire: "Grouper par" et "Distinct" en français.

b a est bien différent de a b ? Sinon il vaut mieux refaire votre base car 2 champs différents sont utilisés pour une même donnée(que le champ 1 ou le champ 2 prennent la valeur a quand l'autre vaut b est une erreur de la table, rien ne peut les différencier). La requête que je vous propose en est bien la preuve puisque qu'elle mettra les deux alors qu'une seule combinaison n'existe si champ1 et champ2 sont identiques, comment savoir laquelle est la vrai combinaison: aucun moyen=> une table plantée & un SGBD à refaire, avec au passage toutes les données perdues dés que le cas se présente).
0
momohuri Messages postés 235 Date d'inscription lundi 6 juillet 2009 Statut Membre Dernière intervention 9 février 2012 8
20 oct. 2011 à 13:52
le plus simple a ete de cree une 3eme colone avec un if a <b alors a-b sinon b-a
comme ce sont des id on a toujours le plus petit et donc une cle unique pour chaque.

Merci
0