检查重复行,仅查询数据的子字符串

时间:2012-09-02 04:33:33

标签: php mysql

我在不同目录中保存了重复的图像。因为每个图像位置都存储在数据库中,所以我想删除重复的数据行。我可以使用此查询在相同目录中查找重复的图像位置

SELECT *
FROM page_additional_images
GROUP BY image_loc
HAVING COUNT(image_loc) > 1

但是,它不适用于不同目录中的图像,例如cars& cars4

/images/**cars**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg
/images/**cars4**/hispano-suiza-k6-pictures-and-wallpapers/hispano-suiza-k6.jpg

如何查看上面的查询并查找重复项,忽略最后一个“/”之前的所有内容?

我想用“/”分隔每一行,只查询每个数组中的最后一个元素。

2 个答案:

答案 0 :(得分:0)

据我所知,在MySQL中最接近PHP样式爆炸的是 SUBSTRING_INDEX(delim ='/',带有负计数参数,例如-1,只获取文件名): http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

答案 1 :(得分:-2)

您可以为每个条目指定一个唯一ID,并且mysql可以自动判断是否有重复条目,并且可以防止它被查询到数据库中。在mysql手册中查找UNIQUE INDEX