使用PHP和CSS对MySQL数据和格式进行分组
仅供参考,我正在使用PHP和MySQL 我正在努力将我们的电子表格工作人员rota转换为一个更具互动性的在线rota系统 我可以很好地理解rota系统的所有功能,但是当涉及到格式化它以明确每个部门中的部门和角色时,它就不那么明显了 我不想为每个部门和部门内的每个角色创建对数据库的调用,但我很难理解如何将结果分组,然后以我想要的格式正确输出结果 我明白,这可能是一个非常模糊的解释,我正试图实现,并随时问尽可能多的问题,你喜欢 我希望我讲得通:-) 祝你今天愉快 MySQL数据 所需页面/表格格式使用PHP和CSS对MySQL数据和格式进行分组,php,css,mysql,Php,Css,Mysql,仅供参考,我正在使用PHP和MySQL 我正在努力将我们的电子表格工作人员rota转换为一个更具互动性的在线rota系统 我可以很好地理解rota系统的所有功能,但是当涉及到格式化它以明确每个部门中的部门和角色时,它就不那么明显了 我不想为每个部门和部门内的每个角色创建对数据库的调用,但我很难理解如何将结果分组,然后以我想要的格式正确输出结果 我明白,这可能是一个非常模糊的解释,我正试图实现,并随时问尽可能多的问题,你喜欢 我希望我讲得通:-) 祝你今天愉快 MySQL数据 所需页面/表格格式
如果要按部门获取每个员工的值和总和,可以使用with添加额外的行,并按分组列的每个值进行合计 假设您想显示工资:
select coalesce(name,concat('Total D',Dept)) as Name, sum(Salary) as Salary
from Staff
group by Dept, name with rollup
having coalesce(Dept,0)!=0
结果:
| Name | Salary |
|----------|--------|
| Colin | 80000 |
| John | 100000 |
| Steve | 120000 |
| Trevor | 40000 |
| Total D1 | 340000 |
| Gary | 60000 |
| Nigel | 50000 |
| Total D2 | 110000 |
| Name | Salary |
|-------------|--------|
| Colin | 80000 |
| John | 100000 |
| Steve | 120000 |
| Trevor | 40000 |
| Total D1 | 340000 |
| Gary | 60000 |
| Nigel | 50000 |
| Total D2 | 110000 |
| Grand total | 450000 |
具有
条件,如果要将最后一行排除在总计之外,如果需要该行,则必须稍微更改合并()
以获得正确的描述:
select coalesce(name,concat('Total D',Dept),'Grand total') as Name, sum(Salary) as Salary
from Staff
group by Dept, name with rollup
结果:
| Name | Salary |
|----------|--------|
| Colin | 80000 |
| John | 100000 |
| Steve | 120000 |
| Trevor | 40000 |
| Total D1 | 340000 |
| Gary | 60000 |
| Nigel | 50000 |
| Total D2 | 110000 |
| Name | Salary |
|-------------|--------|
| Colin | 80000 |
| John | 100000 |
| Steve | 120000 |
| Trevor | 40000 |
| Total D1 | 340000 |
| Gary | 60000 |
| Nigel | 50000 |
| Total D2 | 110000 |
| Grand total | 450000 |
你的总数代表总数吗?另外,您希望在第二列中显示哪些数据?请参阅@JashParekh TOT确实代表总计数。第二列(以及更多)是一周中的几天,以及该工作人员是否在这一天上班。