选择匹配第一个唯一单词的所有第一条记

时间:2017-07-18 18:35:38

标签: mysql

我有以下类似的数据:

id        property  position
========  ========  ========
1         Cool      Leader
2         Cool      Sponsor 1
3         Cool      Sponsor 2
4         Cool      Sponsor 3
5         Hot       Icon
6         Hot       Sponsor 2
7         Hot       Sponsor 3

我正在尝试编写一个返回唯一位置值行但忽略位置后面的数字的查询。因此,如果存在赞助商1,则不会返回有赞助商2和赞助商3的行。

我希望结果是:

id        property  position
========  ========  ========
1         Cool      Leader
2         Cool      Sponsor 1
5         Hot       Icon
6         Hot       Sponsor 2

我该怎么做?

1 个答案:

答案 0 :(得分:1)

使用MySql

如果您想获得第一次出现的字符串

SELECT property, position, SUBSTRING_INDEX(position, " ", 1) AS p2 
FROM table_name 
GROUP BY p2, property;