php mysql分组结果

时间:2012-11-29 20:25:46

标签: php mysql

任何人都可以帮助我吗? 我有两个表,它们由student_id链接。
我正在寻找一个更清洁/单一的查询,可以输出下面的样本,
虽然我通过插入另一个查询(用于主题的group_concat)来实现这一点 在while循环查询部分和名称。

table_students
student_id,section,name

table_subjects
student_id,主题

现在我希望输出像这样。

student_id    section    name    subject  
100           A          john    algebra, trigo, geometry  
101           A          peter   trigo, geometry,  
102           B          alice   literature, algebra  
103           B          james   trigo 

提前谢谢。

顺便说一句,我忘了提供一些细节, 在我的科目表中,受试者是每排,就像这样

student_id    subject  
    100       algebra  
    100       tigo  
    100       geometry  
    101       trigo
    101       geometry
    102       literature
and so on.....  

2 个答案:

答案 0 :(得分:4)

SELECT 
stud.section, stud.name, group_concat(subj.subject, '') 
FROM table_students stud 
JOIN table_subjects subj 
ON stud.student_id = subj.student_id 
GROUP BY stud.name

答案 1 :(得分:0)

试试这个MySQL查询:

SELECT stu.section, stu.name, sub.subject 
FROM table_students stu, table_subject sub 
WHERE stu.student_id=sub.student_id 
GROUP BY stu.section

应该完全按照您的需要做。在两个表中按student_id选择相关数据,然后指定要返回的字段。最后,按部分对它们进行分组。