Я попробовал. Adventureworks db of Msdn.
select HireDate, min(JobTitle)
from AdventureWorks2016CTP3.HumanResources.Employee
group by HireDate
Resuts:
2009-01-10Production техник - WC40
2009-01-11Application специалист
2009-01-12Assistant в главный финансовый директор
2009-01-13Производственный техник - WC50 <
Он возвращает отсортированные данные наемного персонала, но при любых обстоятельствах вы не полагаетесь на GROUP BY в SORT.
например; индексы могут изменять эти отсортированные данные.
я добавил следующий индекс (HireDate, jobtitle)
CREATE NONCLUSTERED INDEX NonClusturedIndex_Jobtitle_hireddate ON [HumanResources].[Employee]
(
[JobTitle] ASC,
[HireDate] ASC
)
Результат будет меняться с таким же запросом на выборке;
2006-06-30 Техник - WC60
2007-01-26 Ассистент по маркетингу
2007-11-11 Технический менеджер
2007-12-05 Дизайнер Старший Инструмент
2007-12-11 Дизайнер инструмента
2007-12-20 Менеджер по маркетингу
2007-12-26 Руководитель производства - WC60
Вы можете скачать Adventureworks2016 по адресу
https://www.microsoft.com/en-us/download/details.aspx?id=49502
Btw, я только что проверил: Мой PostgreSQL 9.3.4 * не * автоматически возвращать отсортированные данные при использовании 'group by'. – JimmyB
Я пытался использовать AdventureWorks db Msdn. Он работает, группа по отсортированным данным, интересно, это зависит от типа данных? Поэтому я попробовал дату и только одну группу по заявлениям. –