Как вывести уникальный уникальный столбец в mysql?

Подскажите, где накосячил, выводит все o.id(повторы)

нужно чтобы o.id был уникальным

Если я из select убираю po.id as pid, то все выводит нормально

select 
    distinct `o`.`id`, `po`.`id` as `pid`, `po`.`option_id`, `po`.`required`, `od`.`name`, `po`.`value`, `o`.`type` 
from `options` as `o` 
    left join `product_options` as `po` on `o`.`id` = `po`.`option_id` 
    left join `option_descriptions` as `od` on `od`.`option_id` = `o`.`id` 
where `po`.`product_id` in (1, 5, 2) and `od`.`language_id` = 1

Ответы (1 шт):

Автор решения: Aslero

спасибо за помощь, я решил проблему иначе

я решил вывести все значения одним запросом, а потом в цикле перебрать и сгруппировать

select
       `od`.`name`, `ovd`.`name`, `ovd`.`option_value_id`, `pov`.`option_id`, `ov`.`image`
from `products` as `p`
    left join `product_option_values` as `pov` on `p`.`id` = `pov`.`product_id`
    left join `option_descriptions` as `od` on `pov`.`option_id` = `od`.`option_id`
    left join `option_value_descriptions` as `ovd` on `pov`.`option_value_id` = `ovd`.`option_value_id`
    left join `options` as `o` on `pov`.`option_id` = `o`.`id`
    left join `option_values` as `ov` on `pov`.`option_value_id` = `ov`.`option_id`
where
      `p`.`id` in (1, 5, 2)
  and
      `ovd`.`language_id` = 1
  and
      `od`.`language_id` = 1
group by
         `od`.`name`,
         `ovd`.`name`,
         `pov`.`option_value_id`,
         `pov`.`option_id`,
         `ov`.`image`
order by
         `od`.`name` asc,
         `ovd`.`name` asc
→ Ссылка