选择字段的不同的第一个单词

时间:2016-11-03 14:33:05

标签: mysql select

我希望能够进行选择查询,只取字符串中不同的第一个单词,不包括最后一个单词。如果不清楚,以下是我希望得到的结果:

Apple iPhone 4S
Apple iPhone 4
Apple iPhone 6 Plus

              +-----------+--------------------------------+
              |    id     |             model              |
              +-----------+--------------------------------+
              |     1     |      Apple iPhone 4S 16Gb      |
              |     2     |      Apple iPhone 4S 32Gb      |
              |     3     |       Apple iPhone 4 8Gb       |
              |     4     |    Apple iPhone 6 Plus 32Gb    |
              |     5     |    Apple iPhone 6 Plus 64Gb    |
              +-----------+--------------------------------+

如何在排除最后一个空格后的值时选择字段的不同值?

我试图找到有关函数的文档,例如 right(model,lastindexof(""))。 提前感谢您的帮助:)

2 个答案:

答案 0 :(得分:6)

您可以反转字符串以查找第一个空格" "

<强> SQL Demo

SELECT DISTINCT RTRIM(REVERSE(SUBSTRING(REVERSE(`model`),LOCATE(" ",REVERSE(`model`)))))
FROM Table1

<强>输出

enter image description here

答案 1 :(得分:2)

SELECT DISTINCT TRIM(SUBSTRING(model, 1, LENGTH(TRIM(model))-4))