我有一个带varchar
列的表。该列包含句子。
如何使用前缀对句子进行分组?
例如假设这样的行:
1| 字 1 字2 字 3
2| 字 1 字 2 字 3
我想按第一个空格之前的字符串部分进行分组。
我怎样才能做到这一点?
您可以使用SUBSTRING_INDEX(str,delim,count)
功能:
GROUP BY SUBSTRING_INDEX(columnName,' ',1)
假设 DDL
create table test(
id int,
value varchar(50)
);
选择语句
select count(id), substr(value, 1, instr(value, ' '))
from test
group by substr(value, 1, instr(value, ' '));