mysql - 选择替换的选定结果的不同值

标签 mysql sql select replace distinct

大家好。

我在 mySql 查询方面遇到了一个小问题。假设我们有一个表,其中的值是成对的,但在同一字段中统一,所以像这样:

id  |  serviceName
----+-------------
1   |  foo - bar
2   |  foo - doo
3   |  foo - tep
4   |  bee - bar
5   |  bee - blo

我想选择不同的 serviceName 的第一部分,在本例中为 foo、bee。

所需的输出应该是:

foo
bee

在结果集中。

我现在的想法是制作一个SELECT DISTINCT a FROM REPLACE ((SELECT serviceName as a FROM tableName), ' - ***', '')

但我不太确定这是否可能,以及如何实现。我只想选择该字段的第一部分,并且我只想选择它的不同值......这可能吗?我需要一个正确的方向指向,我可以自己研究。

提前致谢。

最佳答案

假设您总是想在破折号 - 上进行分割,这应该适合您。

SELECT DISTINCT LEFT(serviceName, LOCATE('-', serviceName) - 2) FROM tableName;

SQLFiddle

关于mysql - 选择替换的选定结果的不同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23156757/

相关文章:

sql - 带有 JOIN 和 WHERE 子句的 INSERT 语句

sql - 选择前 10 行,然后随机选择其中 5 行

php - PHP 文件上传的 Mime 验证不起作用

mysql - SEC_TO_TIME 函数在 case 函数内中断

sql - 将 0 转换为 DATE 和 DATETIME

c# - SELECT语句中的C#SQLite参数-依赖组合框问题

javascript - HandleKeyPress 无法识别向下箭头

php - 在 YouTube 上吸引订阅者

mysql - 分析 MySQL 表时出现 ERROR 1040 - Too many connections

javascript - 定期更新页面上的信息,无需刷新页面