2013-12-19 41 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这是最重要的你的要求是什么。你可以把条件去实现 –

相关问题