2017-03-03 88 views
-1

我有一個表是這樣的...MySQL的選擇不同的用戶

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

我要查詢和選擇所有不同用戶,但如果用戶有不同的帳戶,然後需要考慮的另一個不同的記錄它。

最後出來放查詢的應該是:

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

這是我當前的查詢,只是不知道如何使它做我想要什麼?

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

感謝。

+0

我懷疑所有的ID是「1」的列的 – Strawberry

+0

您所查詢的是好的,但要注意,DISTINCT不是一個函數;它不需要任何參數 – Strawberry

回答

0

DISTINCT不是功能。它適用於所有選定的列。它選擇所有列值的唯一組合。

試試這個:

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

這完美的工作,謝謝。 – LargeTuna

+0

請注意,雖然非常正確,但它在功能上與OP自己的答案相同,這很奇怪 – Strawberry

+0

@Strawberry - 非常正確。我想知道OP在查詢 – GurV

1

SELECT DISTINCT t.user_id如UID,t.account_id 從表T3

-1

這種查詢可以幫助

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

入住這裏SQL FiDDLE

+0

時如何檢查[SQL FiDDLE](http://sqlfiddle.com/#!9/e951ed/1) –

0

SELECT distinct t.user_id,t.account_id 從表t。

在這種情況下,不同的應用都認爲是「USER_ID」和「ACCOUNT_ID」

+0

中的結果,就像它在OP的示例中一樣 - 毫無疑問,這引發了一個明顯的問題,但我們確實存在。 – Strawberry