在mysql中查找类似的行

时间:2012-10-28 03:38:36

标签: mysql sql

我的数据库中有一个带有歌曲标题的表格。有几个重复,但略有偏。例如,我的表可能如下所示:

id  title
1   Photobooth
2   Photobooth [*]
3   Photobooth [dvd]
4   Photobooth [acoustic]
5   Song for Kelly Huckaby
6   Song for Kelly Huckaby [*]

我试图将其分解,以便我的结果如下:

1   Photobooth
5   Song for Kelly Huckaby

我该如何处理此查询?删除[]中的所有内容,然后查找重复项?

1 个答案:

答案 0 :(得分:3)

SELECT DISTINCT CASE WHEN LOCATE('[', title)-1 = -1
                      THEN TRIM(title)
                      ELSE TRIM(LEFT(title, LOCATE('[', title)-1))
                END title
FROM table1

SQLFiddle Demo

相关问题