2

こんにちは、ロールアップ mysql クエリに問題があります。各列の合計を取得したい。mysql SUM() と ROLLUP を使用して結果を取得します。ただし、追加された新しい行では、最後の行のデータがコピーされます。それらのデータを削除するにはどうすればよいですか。私が本当に達成する必要があるものについてのイメージを提供しました。

これが私のクエリです。

SELECT IFNULL(payments.id, "General Total"), payments.driver_id, payments.vehicle_specifications_id,payments.admins_id, payments.vehicle_id, payments.boundaries, payments.cashbond_payments, payments.loans, payments.penalties, SUM(payments.total_payments), a.first_name, a.mid_name, a.last_name, d2.date, d.first_name, d.mid_name, d.last_name, v.plate_number, v2.car_rate FROM payments INNER JOIN admins AS a ON payments.admins_id = a.id INNER JOIN drivers AS d ON payments.driver_id = d.id INNER JOIN dispatch AS d2 ON payments.dispatch_id =d2.id INNER JOIN vehicles AS v ON payments.vehicle_id = v.id INNER JOIN vehicle_specifications AS v2 ON payments.vehicle_specifications_id = v2.id GROUP BY payments.id WITH ROLLUP

ここに画像の説明を入力

4

1 に答える 1

2

これを使用してみてくださいunion all

SELECT 
payments.id, 
payments.driver_id, 
payments.vehicle_specifications_id,
payments.admins_id, 
payments.vehicle_id, 
payments.boundaries, 
payments.cashbond_payments, 
payments.loans, 
payments.penalties, 
SUM(payments.total_payments), 
a.first_name, 
a.mid_name, 
a.last_name, 
d2.date, 
d.first_name, 
d.mid_name, 
d.last_name, 
v.plate_number, 
v2.car_rate 
FROM payments 
INNER JOIN admins AS a ON payments.admins_id = a.id 
INNER JOIN drivers AS d ON payments.driver_id = d.id 
INNER JOIN dispatch AS d2 ON payments.dispatch_id =d2.id 
INNER JOIN vehicles AS v ON payments.vehicle_id = v.id 
INNER JOIN vehicle_specifications AS v2 ON payments.vehicle_specifications_id = v2.id 
GROUP BY payments.id 

union all
select 
'General Total' as id,
'' as driver_id, 
'' as vehicle_specifications_id,
'' as admins_id, 
'' as vehicle_id, 
'' as boundaries, 
'' as cashbond_payments, 
'' as loans, 
'' as penalties, 
SUM(payments.total_payments), 
'' as first_name, 
'' as mid_name, 
'' as last_name, 
'' as date, 
'' as first_name, 
'' as mid_name, 
'' as last_name, 
'' as plate_number, 
'' as car_rate 
FROM payments 
INNER JOIN admins AS a ON payments.admins_id = a.id 
INNER JOIN drivers AS d ON payments.driver_id = d.id 
INNER JOIN dispatch AS d2 ON payments.dispatch_id =d2.id 
INNER JOIN vehicles AS v ON payments.vehicle_id = v.id 
INNER JOIN vehicle_specifications AS v2 ON payments.vehicle_specifications_id = v2.id 
于 2015-05-11T13:06:36.237 に答える