2010-09-29 40 views
2

比方說,我有一個包含2列數字和名稱的表格。按問題提出的快速SQL組

number name 
-------------- 
0  name1 
3  name4 
3  name2 
5  name1 

所以數字列在其中重複,併爲每個數字分配一個或多個(不同的)名稱。但是,例如,號碼3可以與號碼5具有相同的名稱。

如何使用group by以這樣的方式顯示每個號碼的所有不同名稱,從而得到號碼和姓名的結果。

我想要做到這一點,但我不能確定它由於必須在GROUP BY中有SELECT列。

+0

嗯,我認爲這是對OMGPonies ... – VoodooChild 2010-09-29 04:06:54

+0

哪些數據庫是你使用? – 2010-09-29 04:24:27

+0

你可以顯示你想要的輸出是什麼嗎?這可能更容易解釋。 – FlySwat 2010-09-29 04:25:15

回答

2

這是你想要的嗎?

SELECT NUMBER, NAME 
    FROM TABLENAME 
    GROUP BY NUMBER, NAME 
    ORDER BY NUMBER 
+1

+1:這就是我的想法 – 2010-09-29 04:17:14

+0

從某種意義上說,我想通過數字對所有的東西進行分組。所以我想獲得DISTINCT號碼,並且我希望每個號碼都能得到與該號碼對應的所有名稱。 – user461316 2010-09-29 04:19:22

+0

不知道是否可以這樣做,除非你的意思是你想申請訂單?另外,如果你有兩次不同名字的數字3,你將不得不顯示結果兩次:一個用於(3,name1)和一個用於(3,name2) – VoodooChild 2010-09-29 04:21:08

0

第一件事「數字」是SQL保留字,所以不要把它作爲列名

假設你的「數字」列名是「數字1"

那麼試試這個

選擇名稱,從表名 組號按名稱,數字1