Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL - Ändern der Abfrage, sodass sie in nur 1 Spalte eindeutig ist

Es ist nicht genau klar, was Sie wollen. Angesichts dieser Daten:

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

welche ergebnisse erwartest du? Wenn Sie möchten:

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

dann könnten Sie ein SELECT DISTINCT machen Unterabfrage, um die Duplikate zu entfernen (die Sie anstelle von FROM twl_links setzen würden ).

Wenn Sie möchten

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

dann können Sie GROUP_CONCAT(DISTINCT screen_name) ausführen um das zu bekommen.

Beachten Sie, dass der zurückgegebene Titel in allen Fällen mehrdeutig ist (es sei denn, es gibt eine N:1-Zuordnung zwischen URL und Titel; das heißt, es sei denn, jede URL hat nur einen eindeutigen Titel)

Zu Ihrer Information, es hört sich so an, als hätten Sie aufgrund fehlender Normalisierung redundante und schwer abzufragende Daten.