1.数据长这个样子,test表有2个字段,id和name,根据name来分组,name前面一段相同,后面的序号不同,这种算一组数据。
2.分完组是这个样子
3.sql
SELECT
LEFT (
a.name,
(
IF (
char_length(a.name) - char_length(
SUBSTRING_INDEX(a.name, '-', - 1)
) = 0,
char_length(a.name),
char_length(a.name) - char_length(
SUBSTRING_INDEX(a.name, '-', - 1)
)
)
)
) NAME
FROM
test a
GROUP BY
LEFT (
a.name,
(
IF (
char_length(a.name) - char_length(
SUBSTRING_INDEX(a.name, '-', - 1)
) = 0,
char_length(a.name),
char_length(a.name) - char_length(
SUBSTRING_INDEX(a.name, '-', - 1)
)
)
)
)