Я использую Postgresql 9,2 и имеет простые студент таблицы следоватьPostgresql внутренний выберите с отчетливым
id | proj_id | mark | name | test_date
У меня есть 2 запросов, которые описаны ниже
select * from (select distinct on (proj_id) proj_id , mark, name,
test_date from students)
t
where t.mark <= 1000
VS
select distinct on (proj_id) proj_id , mark, name, test_date from
students where mark <= 1000
, когда я запускаю каждый запрос для более чем 10000 записей каждый запрос возвращает другой результат, особенно результат, хотя для менее чем 3000 записей результат будет таким же.
это ошибка postgresql 9.2 или мне что-то не хватает?
'отличный on' без' заказ by' не имеет смысла. Строки в реляционной базе данных не имеют подразумеваемого порядка. Без 'order by' база данных может возвращать их в любом порядке, который, по его мнению, наиболее эффективен –
проблема не в порядке, в результате какой-то результат потеряет первый запрос, вернет меньше строк, чем последний. –