@onefinal

Group by 2 поля сразу как сделать?

Таблица
SELECT 
id,
name,
key


нужно выбрать без повторов по полям name key но суть в том что могут быть одинаковые значения и в поле name и в поле key

if1lohra.udb_55ed7a4e816ff.png

пробовал вот так не получилось
SELECT DISTINCT
id,
`name`,
`key`
FROM
tst
group by `name`,`key`
  • Вопрос задан
  • 3865 просмотров
Пригласить эксперта
Ответы на вопрос 4
@heartdevil
плыву как воздушный шарик
А что именно не так у вас?

Если я правильно понял то вам нужно примерно следующее.

SELECT DISTINCT t.id
FROM tst AS t
GROUP BY CONCAT(t.`name`, t.`key`)
Ответ написан
Комментировать
WaRstim
@WaRstim
group by `name` DESC, `key` ASC
Ответ написан
Комментировать
@onefinal Автор вопроса
Все равно выдает дубликаты нужно что бы дубликаты вообще не давало, ни по имени ни по коду
Ответ написан
Комментировать
@bikevit2008
Чтобы не было дубликатов, надо сделать две группировки с помощью group by. Это возможно, с помощью под-запросов. Я еще плох в синтаксисе, чтобы сходу написать это в вашем примере, но в работе уже писал такой запрос, все работает. Надеюсь кому-то поможет знание о под-запросах группировках в каждом из них. Также придется использовать алиасы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы