我有一个数据库,列出了每个型号年份的每个品牌和型号的修剪和引擎,并列出了Trim& amp;发动机制造与发动机每一行都有模型。我想将这些数据压缩并输出到CSV电子表格中,以便每个Make&模型在一行上,Trim和Engine数据分别压缩成一列。
数据库目前在SQL中,所以我可以在服务器端(例如,PHP然后输出为CSV格式)或者我可以将数据输出为CSV格式并操纵我的计算机上的数据(例如,使用Excel,如果甚至可以使用它,或其他东西)。我估计大约有50,000行将被压缩到大约8,000行。
我想接受这个:
Vehicle: Trim: Engine: Year:
Chevrolet Impala LS 2.5L 2015
Chevrolet Impala LS 3.6L 2015
Chevrolet Impala LT 2.5L 2015
Chevrolet Impala LT 3.6L 2015
Chevrolet Impala LTZ 2.5L 2015
Chevrolet Impala LTZ 3.6L 2015
Chevrolet Malibu LS 2.5L 2015
Chevrolet Malibu LT 2.0L 2015
Chevrolet Malibu LT 2.5L 2015
Chevrolet Malibu LTZ 2.0L 2015
Chevrolet Malibu LTZ 2.5L 2015
Chevrolet Silverado 1500 High Country 5.3L 2015
Chevrolet Silverado 1500 High Country 6.2L 2015
Chevrolet Silverado 1500 LT 4.3L 2015
Chevrolet Silverado 1500 LT 5.3L 2015
Chevrolet Silverado 1500 LTZ 5.3L 2015
Chevrolet Silverado 1500 LTZ 6.2L 2015
Chevrolet Silverado 1500 WT 4.3L 2015
Chevrolet Silverado 1500 WT 5.3L 2015
并将其压缩为独特的行:
Unique Vehicle: Unique Trims: Unique Engines: Year:
Chevrolet Impala LS, LT, LTZ 2.5L, 3.6L 2015
Chevrolet Malibu LS, LT, LTZ 2.0L, 2.5L 2015
Chevrolet Silverado 1500 High Country, LT, LTZ, WT 4.3L, 5.3L, 6.2L 2015
非常感谢大家!
答案 0 :(得分:0)
假设您正在使用MySQL(您没有指定),那么您可以使用GROUP_CONCAT()函数
SELECT vehicle,
GROUP_CONCAT(DISTINCT trim ORDER BY trim) AS unique_trims,
GROUP_CONCAT(DISTINCT engine ORDER BY engine) AS unique_engines,
year
FROM vehicles
GROUP BY vehicle,
year
ORDER BY vehicle,
year