0

私はこの非常に複雑な問題を抱えていると思います。私のMysql DBは次のようになります。

旅行:

  • ID
  • マイレージ
  • 車のID
  • ドライバー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レベルの配列が必要です:

キー: 車の ID -> ドライバーの ID、走行距離、その他の統計情報を含むデータの配列と、車のデータ全体の配列 "total" を含みます

4

1 に答える 1