Php 将多行包装为一行

Php 将多行包装为一行,php,mysql,sql,Php,Mysql,Sql,我在mysql中有一个数据集,对于一个特定的主题,我希望将它们折叠成一行。要环绕的行数各不相同。典型的数据集设置如下所示: SELECT * FROM exam_results WHERE sdate = :sdate AND studno = :studno 列名: 开庭日期|科目|考试部分1 |考试部分2 |作业部分1 |作业部分2 |实践部分1 |实践部分2 |项目部分1 |项目部分2 |总分|成绩|学分 结果: 052012商业信息系统0.00 0.00 51.0.00 0.00 0.

我在mysql中有一个数据集,对于一个特定的
主题
,我希望将它们折叠成一行。要环绕的行数各不相同。典型的数据集设置如下所示:

SELECT * FROM exam_results WHERE sdate = :sdate AND studno = :studno
列名:
开庭日期|科目|考试部分1 |考试部分2 |作业部分1 |作业部分2 |实践部分1 |实践部分2 |项目部分1 |项目部分2 |总分|成绩|学分

结果:

052012商业信息系统0.00 0.00 51.0.00 0.00 0.00 0.00 0.00 42 F 10.00

052012商业信息系统29.0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 42 F 10.00

我要做的是将它们包装成一行,如下所示:

052012 |业务信息系统| 29.00 | 0.00 | 51.0 | 0.00 | 0.00 | 0.00 | 42 |

如何在mysql中形成这样的查询?我当前的查询如下所示:

SELECT * FROM exam_results WHERE sdate = :sdate AND studno = :studno

您可以在MySQL中使用
CONCAT\u WS

SELECT CONCAT_WS(' | ', `Sitting Date`, `Subject`, <...>) FROM `table`
从'table'中选择CONCAT_WS('124;','siting Date','Subject',)`

请解释在单行显示中显示值的方式。这是最大值吗?嗨,我更新了OP。