it-swarm.com.de

MySQL SELECT DISTINCT mehrere Spalten

Angenommen, ich habe Spalten a, b c, d in einer Tabelle in einer MySQL-Datenbank. Was ich versuche, ist, die unterschiedlichen Werte von ALLEN dieser 4 Spalten in meiner Tabelle auszuwählen (nur die unterschiedlichen Werte). Ich habe Sachen ausprobiert wie:

SELECT DISTINCT a,b,c,d FROM my_table;
SELECT DISTINCT a,b,c,d FROM my_table GROUP BY a,b,c,d;

Keiner von denen hat funktioniert. Kann hier jemand helfen?

Vielen Dank

NOTE Ich möchte die unterschiedlichen Werte der Spalten a, b, c d getrennt. Nicht die eindeutige Kombination von Werten

66
user765368

kann das helfen?

select 
(SELECT group_concat(DISTINCT a) FROM my_table) as a,
(SELECT group_concat(DISTINCT b) FROM my_table) as b,
(SELECT group_concat(DISTINCT c) FROM my_table) as c,
(SELECT group_concat(DISTINCT d) FROM my_table) as d
45
Nesim Razon

Ich weiß, dass die Frage sowieso zu alt ist:

select a, b from mytable group by a, b

wird Ihnen alle Kombinationen geben.

58
ncastro

Wenn Sie die gewünschten Ergebnisse erraten, ist dies möglicherweise die gewünschte Abfrage

SELECT DISTINCT a FROM my_table
UNION 
SELECT DISTINCT b FROM my_table
UNION
SELECT DISTINCT c FROM my_table
UNION
SELECT DISTINCT d FROM my_table
19
Adrian Cornish

Ein anderer einfacher Weg dies zu tun ist mit concat()

SELECT DISTINCT(CONCAT(a,b)) AS cc FROM my_table GROUP BY (cc);
13
Kelhen

Dadurch erhalten Sie DISTINCT-Werte für alle Spalten:

SELECT DISTINCT value
FROM (
    SELECT DISTINCT a AS value FROM my_table
    UNION SELECT DISTINCT b AS value FROM my_table
    UNION SELECT DISTINCT c AS value FROM my_table
) AS derived
8
T. Brian Jones

Beide Ihre Fragen sind korrekt und sollten Ihnen die richtige Antwort geben.

Ich würde die folgende Abfrage vorschlagen, um Ihr Problem zu beheben.

SELECT DISTINCT a,b,c,d,count(*) Count FROM my_table GROUP BY a,b,c,d
order by count(*) desc

Das ist das Feld add count (*). Dadurch erhalten Sie eine Vorstellung davon, wie viele Zeilen mit dem Befehl group entfernt wurden.

8
Hammad Khan