Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Modification de la requête pour qu'elle soit distincte sur une seule colonne

Il n'est pas clair exactement ce que vous voulez. Étant donné ces données :

t_uid    url                    title           screen_name
1        http://google.com/     Google          bob
2        http://google.com/     Google Search   bob
3        http://google.com/     Google          tom

quels résultats attendez-vous? Si vous voulez :

http://www.google.com  '???'  'bob,tom'   2

alors vous pourriez faire un SELECT DISTINCT sous-requête pour supprimer les doublons (que vous mettriez à la place de FROM twl_links ).

Si vous voulez

http://www.google.com  '???'  'bob,tom'   3

alors vous pouvez faire GROUP_CONCAT(DISTINCT screen_name) pour l'obtenir.

Notez que dans tous les cas, le titre renvoyé est ambigu (sauf s'il existe un mappage N:1 entre l'URL et le titre ; c'est-à-dire à moins que chaque URL n'ait qu'un seul titre distinct)

Pour votre information, il semble que vous ayez des données redondantes et difficiles à interroger en raison d'un manque de normalisation.