Пришлось столкнуться с такой задачей. В таблице перечислены модели часов марки CASIO.
И в конце, что типично для русского рынка, добавлены ER, DEF, UER и прочая.
Пришлось поработать с SQL запросами, чтобы оставить только полезные названия у моделей часов.
Данный запрос делает выборку по последней букве каждого значения и обобщает с помощью GROUP BY общее число каждой из таких последних букв:
SELECT SUBSTRING(`name_ru-RU`,LENGTH(`name_ru-RU`),1) as one_var, 
        count(`name_ru-RU`) as cnt
FROM `q3j5c_jshopping_products`
where `product_manufacturer_id`=1
group by one_var
Здесь я выбираю уже список моделей и идентификаторов товара по каждой конкретной последней букве:
SELECT p.`product_id`, `name_ru-RU` 
FROM `q3j5c_jshopping_products` as p,
      `q3j5c_jshopping_products_to_categories` as pc
WHERE p.`product_id`=pc.`product_id`
and p.`product_manufacturer_id`=1
and pc.`category_id` <> 30
and SUBSTRING(p.`name_ru-RU`,LENGTH(p.`name_ru-RU`),1) ='R' 
А в этом запросе я удаляю, например DR в конце каждой модели:
UPDATE `q3j5c_jshopping_products` as p,
      `q3j5c_jshopping_products_to_categories` as pc
set p.`name_ru-RU`=SUBSTRING(p.`name_ru-RU`,1,LENGTH(p.`name_ru-RU`)-2), 
     p.`name_en-GB` = SUBSTRING(p.`name_en-GB`,1,LENGTH(p.`name_en-GB`)-2),
      p.`name_sl-SI` = SUBSTRING(p.`name_sl-SI`,1,LENGTH(p.`name_sl-SI`)-2) 
WHERE p.`product_id`=pc.`product_id`
   and p.`product_manufacturer_id`=1
    and pc.`category_id` <> 30
     and SUBSTRING(p.`name_ru-RU`,LENGTH(p.`name_ru-RU`)-1,2) ='DR'

 
						
