重新排列各种范围的数据表

我有一些失败的数据和事件。 我想根据事件的范围分组这些数据。 EG. >500 Wheel alignment, dpf muffler assy EG. >500 Wheel alignment, dpf muffler assy范围将在10s。 EG. >=500, 490-500, 480-490.

对不起,我没有提到,我正在使用Excel 2007做到这一点! :(((

 Failures Occurences WHEEL ALIGNMENT (ADJ) 588 DPF MUFFLER ASSY (R/SERVICE/I) 557 ADJUST ALL BRAKES (ADJ) 436 V-BELT(ALTERNATOR/FAN/COMPRESSOR) (R/I) 402 BATTERY (R/I) 380 FRT BRAKE SHOE & LINING ASSY (R/I) 375 ELECTRICAL REPAIR 270 CLUTCH OVERHAUL 252 STVE & GBL SERVICE PACKAGE 247 

您可以创build并填充范围表(如果需要,可以灵活地更改范围)

 CREATE TABLE failure_ranges (range_start INT, range_end INT); 

然后你可以使用这样的查询( MySql的一个版本)

 SELECT CONCAT(r.range_start, '-', r.range_end) `range`, GROUP_CONCAT(f.failures ORDER BY f.occurences DESC) failures FROM failures f JOIN failure_ranges r ON f.occurences BETWEEN r.range_start AND r.range_end GROUP BY r.range_start, r.range_end 

示例输出:

 | 范围| 失败|
 -------------------------------------------------- -----------------
 |  241-250 |  STVE&GBL服务包|
 |  251-260 | 离合器大修|
 |  261-270 | 电气维修|
 |  371-380 | 电瓶(R / I),FRT刹车片和衬里组件(R / I)|
 |  401-410 |  V-BELT(发电机/风扇/压缩机)(R / I)|
 |  431-440 | 调整所有制动器(ADJ)|
 |  500-999 | 车轮定位(ADJ),DPF消声器组件(R / SERVICE / I)|

这里是SQLFiddle演示( MySql