Я пытаюсь запросить таблицу ниже, которая является очень простым вариантом моей реальной таблицы,SQL агрегатной функция запрос выбор нескольких столбцов
ID SaleDate Amount
1 2014-09-01 50
1 2014-10-01 20
1 2014-11-01 10
2 2013-11-01 10
2 2013-12-01 20
2 2014-01-01 25
, чтобы получить выходной сигнал как
Выходного
ID MinDate MaxDate StartAmount EndAmount
1 2014-09-01 2014-11-01 50 10
2 2013-11-01 2014-01-01 10 25
Продавец SaleDate всегда растет. Но сумма может отличаться. Я взял минимальные и максимальные даты для каждого ID. Это легкая часть. Но я также хочу, чтобы сумма была на SaleDate.
Я попытался с помощью этого
Select x.ID,min(x.SaleDate) MinDate, x.Amount StartAmount, max(y.SaleDate) MaxDate,y.Amount EndAmount
From Sales x Join Sales y
On x.ID = y.ID
Group By x.ID,y.ID,x.Amount,y.Amount
Order By x.ID
Но я уверен, что я не должен использовать поле Сумма в группе по функциям. Есть ли аналогичный вопрос в SO, который отвечает на этот тип ситуации? Или, если есть простое решение, просто укажите мне этот путь. Я не нуждаюсь в прямом ответе только для общего метода рассмотрения таких случаев.
Что вы используете? –
MS SQl Server 2012 – Xion