我猜这个问题非常复杂。我的Mysql DB看起来像这样:
行程:
驱动器:
汽车:
我需要实现的是一个聚合汽车BUT数据的表,用于不同的驱动程序,所以它看起来像这样:
等等。我完成了第一步,所以我按车的ID分组数据。我现在需要为每辆车获得相同的统计数据。
可以轻松完成吗?
感谢您的帮助
@EDIT
当前查询
"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,里程数和其余统计数据的数据数组以及总汽车数据的“总数”数组
答案 0 :(得分:0)
尝试使用car-ID和Driver进行GROUPING并按里程汇总并使用GROUP BY中的WITH ROLLUP:
SELECT carID, dirverID, sum(mileage) FROM ... GROUP BY 1, 2 WITH ROLUP;