我有一个sql表。该表显示 studentID、Subject_Name 和 Marks。希望你能看懂数据。
现在我需要通过在 Y 轴上垂直显示 studentID 并在 X 轴上水平显示 subject_Name 来在前端显示它。标记应显示为表体。
我使用 php 作为服务器端语言。
最佳答案
我相信一个简单的数据透视查询将为您提供所需的结果集:
SELECT studentID,
SUM(CASE WHEN Subject_Name = 'CHEMISTRY' THEN Marks ELSE 0 END) AS `CHEMISTRY`,
SUM(CASE WHEN Subject_Name = 'BIOLOGY' THEN Marks ELSE 0 END) AS `BIOLOGY`,
SUM(CASE WHEN Subject_Name = 'ENGLISH' THEN Marks ELSE 0 END) AS `ENGLISH`,
SUM(CASE WHEN Subject_Name = 'MATH' THEN Marks ELSE 0 END) AS `MATH`
FROM students
GROUP BY studentID
您可以用表格中实际类(class)科目的名称替换和添加/减去我提供的示例列。
点击下面的链接获取工作演示:
SQLFiddle
关于php二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290257/