我猜我有这个相当复杂的问题。我的 Mysql DB 看起来像这样:
行程:
- ID
- 里程
- 车牌号
- 司机编号
驱动程序:
- ID
- 姓名
汽车:
- ID
- 模型
我需要实现的是一个表格,它为汽车但为单独的司机聚合数据,所以它看起来像这样:
- 汽车:总里程,...(这辆车,所有司机的总和)
- 司机:总里程,...(本车,仅限X1司机)
- 司机:总里程,...(本车,仅限X2司机)
- 汽车:总里程,...(这辆车,所有司机的总和)
- 司机:总里程,...(本车,仅限X1司机)
- 司机:总里程,...(本车,仅限X2司机)
等等。我完成了第一步,所以我按汽车的 ID 对数据进行了分组。我现在需要为每辆车的不同司机获取相同的统计数据。
可以轻松完成吗?
谢谢你的帮助
@编辑
当前查询
"SELECT SUM(`przejazdy`.`przebieg`) as przebieg, SUM(`przejazdy`.`norma`) as norma, SUM(`przejazdy`.`faktyczne`) as zuzycie, `wozy`.`nr wozu`, `kierowcy`.`nr kierowcy` FROM `przejazdy` JOIN `wozy` ON `wozy`.`id` = `przejazdy`.`nr wozu` JOIN `kierowcy` ON `kierowcy`.`id` = `przejazdy`.`nr kierowcy` GROUP BY `przejazdy`.`nr wozu`, `przejazdy`.`nr kierowcy` WITH ROLLUP";
它返回给我一个“平面”数组,不是很有用 - 我需要 2 级数组:
key: car's id -> 包含数据数组,包括司机的 id、里程和其他统计数据,数组“total”表示汽车的总数据