2017-03-03 4 views
-1

Ich habe eine Tabelle wie so ...MySQL select distinct Benutzer

id | user_id | account_id 
-------------------------- 
1 | UserA | Account1 
1 | UserA | Account2 
1 | UserA | Account1 
1 | UserB | Account1 
1 | UserC | Account1 

Ich möchte alle verschiedene Benutzer abzufragen und wählen Sie aber, wenn der Benutzer ein anderes Konto hat, dann muss es eine andere eindeutige Datensatz berücksichtigt werden.

Die endgültige Put der Abfrage heraus sein sollte:

UserA - Account1 
UserA - Account2 
UserB - Account1 
UserC - Account1 

meine aktuelle Abfrage hier, nur nicht sicher, wie es tun, was ich will ...

SELECT  distinct(t.user_id) as uId, t.account_id 
FROM  Table t 

Dank.

+0

ich alle Zweifel, dass die IDs ‚1‘ – Strawberry

+0

Ihre Suche sind, ist in Ordnung, aber beachten Sie, dass DISTINCT ist keine Funktion ; es braucht keine Argumente – Strawberry

Antwort

0

DISTINCT ist keine Funktion. Es wird auf alle ausgewählten Spalten angewendet. Es wählt alle eindeutigen Kombinationen der resultierenden Spaltenwerte aus.

Try this:

select distinct user_id as uId, account_id 
from Table t 
order by uId, account_id; 
+0

Das funktioniert perfekt, danke. – LargeTuna

+0

Beachten Sie, dass, obwohl ganz richtig, ist dies funktional identisch mit der OP eigene Antwort, die ungerade ist – Strawberry

+0

@Strawberry - Ganz richtig. Ich frage mich, welches Problem OP hatte mit seiner/ihrer Abfrage – GurV

1

DISTINCT t.user_id als uId SELECT, t.account_id aus Tabelle t

-1

Diese Abfrage

SELECT  t.user_id as uId, t.account_id FROM Table t 
      GROUP BY uId,account_id; 

prüfen SQL FiDDLE

+0

überprüfen Sie die Ergebnisse in [SQL FiDDLE] (http://sqlfiddle.com/#!9/e951ed/1) –

0
helfen kann

SELECT distinct t.user_id, t.account_id VON Tabelle t.

In diesem Fall verschieden die beiden der Spalten angewendet, die ‚user_id‘ und ‚account_id‘

+0

... wie im Beispiel des OP- was zugegebenermaßen eine offensichtliche Frage aufwirft, aber da sind wir. – Strawberry