用于显示唯一值的SQL语句

时间:2016-05-18 20:59:02

标签: mysql group-by distinct

以下是我表格中的数据:

TABLE:
abc-ac                     
abc-dc                     
aax-i                      
bcs-o-dc                   
ddd-o-poe-dc               

我需要编写一个查询,结果只显示唯一的条目:

abc-ac
aax-i                      
bcs-o-dc                   
ddd-o-poe-dc

基本上,由于前两个条目以" abc"开头,因此应将其视为一个并显示。

感谢。

1 个答案:

答案 0 :(得分:0)

如果您对于它显示的两条abc-*记录中的哪一条记录您并不挑剔,可以使用它:

SELECT f1 FROM mytable GROUP BY substring_index(f1, '-', 1)

SQLFiddle Here

substring_index()函数会将字段中的值除以-并返回第一位。所以基本上你的记录只按第一部分分组。这是我们可以利用MySQL奇怪的GROUP BY行为的少数几次之一,它允许您从组中省略非聚合字段。