mysql 列结果的一部分不同

标签 mysql

如何在部分列结果上使用 mysql distinct。

SELECT distinct (groupname) FROM custom_quotes.compatibility_rule where groupname like '%_Sol%';

当前结果:-

Acetone_Sol : 1
Acetone_Sol : 10
Acetone_Sol : 1000
Water_Sol : 9596
Water_Sol : 9597
Isopropanol_Sol : 4074
Isopropanol_Sol : 4075
Isopropanol_Sol : 4076

预期:

Acetone_Sol :
Water_Sol : 
Isopropanol_Sol : 

实际数据:

enter image description here

最佳答案

您可以使用 left() 获取列中没有数字的部分:

SELECT distinct left(groupname, locate(':', groupname)) 
FROM custom_quotes.compatibility_rule 
where groupname like '%#_Sol%' ESCAPE '#';

您还需要转义 '%_Sol%' 中的下划线,因为它是 LIKE 的通配符。

关于mysql 列结果的一部分不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57108200/

相关文章:

c# - 将 Mysql 数据填充到 asp 日历加载时间太长

php-fed Highcharts 时间序列抛出 T_variable 错误,为什么?

mysql - Group sum, group sum total in one query

mysql - 无需外键即可加入

mysql - 设计书签数据库表

mysql - 仅当不包含特定值时才返回结果?

php - 不同时间段的单独组结果

php - MYSQL显示连接2个表后未连接的值

mysql - 为什么 MYSQL 更高的 LIMIT 偏移量会减慢查询速度?

php - Laravel 多对多查询关系与 where 子句