2012-05-08 4 views
7

Я пытаюсь понять, что этот запрос делает именно:MySQL Выберите несколько столбцов DISTINCT на основе уникальности одной строки?

SELECT DISTINCT `state`, `state_name` FROM `geo` ORDER BY `state_name` ASC 

Все, что я пытаюсь сделать, это выбрать 2 колонки (состояние и state_name), я хочу только уникальные строки, которые не имеют повторяющиеся значения поле штата. Меня не волнует, есть ли повторяющиеся значения в поле state_name.

Является ли мой запрос проверкой обоих столбцов на уникальность или просто состояние?

ответ

18

DISTINCT будет возвращать только отдельные строки, так:

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

Обе колонны

Вы также можете переключиться в GROUP BY вместо.

SELECT `state`, `state_name` FROM `geo` group by 'state', 'state_name' ORDER BY `state_name` ASC 
+0

Спасибо, что работает. :) – Addy

1

Он проверяет уникальные комбинации состояний и state_name. Distinct работает со всеми столбцами, включенными в ваш список выбора.

включать только уникальные значения состояния, просто выберите отчетливое состояние

Смежные вопросы