这里我有一张桌子
费
列
我使用了这个sql代码
SELECT vehicle_id,SUM(amount) FROM expenses GROUP BY type_id;
我的输出为
但是我想要它像以前的图像(长图像)..我能做些什么呢?
注意
这里我使用 Sum 获取多个金额值。 type_id 用于表示柴油,石油,服务等各种费用类型。< / p>
答案 0 :(得分:1)
您可以使用条件聚合执行此操作:
SELECT vehicle_id,
SUM(CASE WHEN type_id = 1 THEN amount ELSE 0 END) AS Diesel,
SUM(CASE WHEN type_id = 2 THEN amount ELSE 0 END) AS Insurance,
SUM(CASE WHEN type_id = 3 THEN amount ELSE 0 END) AS Tyre,
SUM(CASE WHEN type_id = 4 THEN amount ELSE 0 END) AS Battery,
SUM(CASE WHEN type_id = 5 THEN amount ELSE 0 END) AS Oil,
SUM(CASE WHEN type_id = 6 THEN amount ELSE 0 END) AS Garage
FROM expenses
GROUP BY vehicle_id;
您只需要GROUP BY
vehicle_id
。然后根据SUM
执行条件type_id
操作。这样,您可以获得type_id
每vehicle_id
的部分总和。