2016-11-17 125 views
0

編輯:對不起,嚴格要求..MySQL GROUP BY(if)

我想GROUP BY變量只有當另一個變量是相等的。

我有這樣的:

username  name  forename 

jpumpkin_01 Pumpkin Jack 
jpumpkin_02 Pumpkin Jack 
pnice   Nice  Paul 
mpumpkin  Pumpkin Michael 

我顯示與內容:

SELECT * FROM ... WHERE ... 

此列出所有條目:

Pumpkin Jack 
Pumpkin Jack 
Nice  Paul 
Pumpkin Michael 

「南瓜傑克」 的雙重上市。我使用GROUP BY「名」

... GROUP BY name 

現在,「南瓜傑克」上市有一段時間,但「南瓜邁克爾」是羣太,和disapeared。

我怎樣才能列出邁克爾?

感謝您的答案和提示..

RGS

[R

+1

'GROUP BY name,forename' ??? ???如果不是,樣本數據和期望的結果將有助於解釋您的真正含義。 –

+0

當forename = forename時你的意思是什麼?您可以按表達式進行分組,但在表達式中,不能將1行值與另一行進行比較,而必須將行內的標量值與同一行,變量等進行比較。GROUP BY CASE WHEN forename ='Matt'THEN forename ELSE'Not Matt'END將爲Matt創建2行1並且爲非Matt創建 – Matt

回答

-1

的GROUP BY不是有條件的。所以你可以做的是這樣的:「SELECT * FROM ... WHERE ... GROUP BY name,forename」。

+0

謝謝註冊! –