2013-12-19 40 views
0

嗨,我工作的一個學期的項目,我想在這裏我有一個表中討論一個小問題,嘗試如何獲得表結果我想要的格式MYSQL

mysql> select * from try; 

+------+--------+ 
| name | course | 
+------+--------+ 
| ali | DB  | 
| ali | OOP | 
| ali | DLD | 
| ali | CS  | 
| ali | ODE | 
+------+--------+ 
5 rows in set (0.00 sec) 

這裏的學生正在5門課程我想輸出下面的格式

+------+--------+ 
| name | course | 
+------+--------+ 
| ali | DB  | 
|  | OOP | 
|  | DLD | 
|  | CS  | 
|  | ODE | 
+------+--------+ 

請告訴我如果我能夠做到這一點與否,如果是,那麼什麼樣的查詢應由等通過,因爲我已經嘗試了很多相關的聯接,GROUP! !將感謝您的幫助!感謝

+4

做,在你的邏輯。 SQL旨在用於檢索數據。 –

+0

請給我一個方向或提示的查詢來獲得所需的輸出,請! – Ali

+0

這是什麼格式?只有第一個記錄在名稱列中有值?同樣的順序? –

回答

5

試試這個:

SELECT IF(@temp != @temp:=A.name, A.name, '') AS name, A.course 
FROM tableA AS A, (SELECT @temp:='') AS B 
ORDER BY A.name 
+0

謝謝你的工作!還有一件事我想問的是,當我有多個學生同樣重複他們的名字,但課程是不同的,那麼檢查我必須把那裏A.name ='anystudent'或其他? – Ali

+0

@Ali這是最重要的你的要求是什麼。你可以把條件去實現 –

相關問題