À l'aide de SELECT DISTINCT dans MYSQL
Été fait beaucoup de recherche et je n'ai pas vraiment trouvé de réponse à mon MYSQL.
SELECT DISTINCT name, type, state, country FROM table
Résultats dans 1,795 enregistrements
SELECT DISTINCT name FROM table
Résultats dans les 1.504 enregistrements
Pour chaque duplicata "nom"... "type", "état", "pays" ne sont pas de correspondance dans chaque enregistrement.
À essayer de comprendre comment SÉLECTIONNER la ligne correspondante au nom DISTINCT, sans vérifier eux pour être DISTINCTES ou non
- Il n'a rien à voir avec php, donc j'ai supprimé la balise
- Je crains que je vais avoir quelques difficultés à comprendre vos questions. Pourriez-vous poster un coupe-bas version de la donnée, et d'expliquer ce que c'est que vous voulez?
- Quelque chose de semblable: stackoverflow.com/questions/54418/...
- vous pouvez ajouter un échantillon de la sortie. quelque chose le long des lignes de ... voici 3 lignes avec des doublons de nom mais de type différent, l'état, le pays. [3 lignes ici :-)] et je veux [désiré lignes de sortie]
Vous devez vous connecter pour publier un commentaire.
devrait faire l'affaire.
group by name
résume le tout avec la mêmename
. ainsi, chaquename
est unique dans le résultatGROUP BY name ORDER BY state DESC
serait de retour à chaque nom unique avec l'état le plus élevé de ce nom. Même si MySQL viole la norme SQL, je trouve ce comportement très utile à la fois.Si vous voulez nom distinct, vous devez décider laquelle des valeurs multiples qui peuvent se produire pour chacun d'eux le nom que vous voulez. Par exemple, vous souhaitez peut-être minimals, ou compte:
SELECT name, min(type), min(state), count(country) FROM table GROUP BY name