PHP MYSQL несколько или одно DISTINCT / UNIQUEvalues

0

В настоящее время у меня есть этот запрос:

SELECT column1,column2 FROM table

column1 должен быть разным, в столбце2 нет.

SELECT DISTINCT column1, NON-DISTINCT column2 FROM table

Теперь я знаю, что это не имеет смысла, но мне нужно, чтобы столбец1 был отличным, а column2 - чем угодно. Как бы я это сделал.

  • 1
    Вы хотите один случайный bla1, когда у вас есть два или более идентификатора PID?
  • 0
    ну, я не хочу делать «выбор * из таблицы», потому что я хочу только вернуть «pid» и «bla1» - где «pid» отличается, а «bla1» - нет. результат в строках 1-3
Теги:
unique
distinct

2 ответа

2
select pid, group_concat(distinct bla1) as bla1s
from table
group by pid;

Вышеприведенная информация даст вам 1 строку для каждого pid, и вы сможете увидеть, есть ли дополнительные bla1, не вводя новый столбец, или вам придется рассчитывать на случайный выбор нескольких bla1.

1

Попробуйте это (быстрее):

SELECT *
FROM `table`
GROUP BY pid
HAVING min( id )

второй (более медленный) вариант:

select *
from `table` t1
where
    t1.id = (select min(id) from `table` t2 where t1.pid = t2.pid)
  • 0
    :( разве нет способа сделать это без "группы / мин"?
  • 0
    Почему вы не хотите группировки? SELECT DISTINCT предназначен только для получения уникальных значений, другие значения, которые вы попытаетесь выбрать, будут неоднозначными. Должен ли он выбрать 2 или 7 в качестве bla1?
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню