2015-01-14 6 views
1

У меня есть список автомобилей с каждым автомобилем с колонками make и model. Я хотел бы извлечь из списка список уникальных комбинаций make/model.MySQL SELECT statment с одним полем DISTINCT

Например, может быть 3 x Audi A3, один красный, один синий и т. Д. Мне бы хотелось, чтобы запрос вернул, что «Audi A3» является действительным маркером/моделью, независимо от того, сколько раз он появляется.

Здесь был вопрос, я попробовал:

SELECT make, DISTINCT model FROM bs_cars ORDER BY make, model ASC 

Я попытался применить DISTINCT к model только make потенциально имеют различные модели под ним.

ответ

2

Опция DISTINCT применяется на row level, нет смысла выбирать отдельные значения только из одного столбца. Вот почему он остается перед любым выражением, которое появляется в предложении SELECT.

Он удаляет повторяющиеся строки из вывода, сохраняя один экземпляр любой пары (make, model), который у вас есть в таблице.

SELECT DISTINCT make, model 
FROM bs_cars 
ORDER BY make, model ASC 

Проверьте документацию: http://dev.mysql.com/doc/refman/5.7/en/select.html

2

Это даст вам список уникальных комбинаций марка/модель

SELECT DISTINCT make, model FROM bs_cars ORDER BY make, model ASC 
1

distinct ключевое слово применяется один раз в списке выбора, а не на поле:

SELECT DISTINCT make, model FROM bs_cars ORDER BY make, model ASC 
Смежные вопросы