2

我有一个带varchar列的表。该列包含句子。
如何使用前缀对句子进行分组?
例如假设这样的行:

1| 字 1 字2 字 3
2| 字 1 字 2 字 3

我想按第一个空格之前的字符串部分进行分组。
我怎样才能做到这一点?

4

2 回答 2

3

您可以使用SUBSTRING_INDEX(str,delim,count)功能:

GROUP BY SUBSTRING_INDEX(columnName,' ',1)
于 2013-06-20T08:43:44.297 回答
0

假设 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, ' '));

工作示例 http://sqlfiddle.com/#!2/40ea0/1

于 2013-06-20T08:49:06.880 回答