Использование отличного в столбце и выполнение порядка в другом столбце приводит к ошибке - PullRequest
8 голосов
/ 18 января 2012

У меня есть таблица: abc_test со столбцами n_num, k_str.

Этот запрос не работает:

    select distinct(n_num) from abc_test order by(k_str)

Но этот работает:

    select n_num from abc_test order by(k_str)

Каквнутренние ключевые слова DISTINCT и ORDER BY работают так, что вывод обоих запросов изменился?

Ответы [ 11 ]

0 голосов
/ 18 января 2012

Вы выбираете отдельную коллекцию (n_num) из набора результатов из вашего запроса.Так что больше нет фактической связи со столбцом k_str.N_num может быть из двух строк, каждая из которых имеет различное значение для k_str.Таким образом, вы не можете упорядочить коллекцию по-разному (n_num) по k_str.

...