Вторая половина дня
Я пытаюсь вернуть минимальное значение / максимальное значение в SQL Server 2005, когда у меня несколько одинаковых дат, но все значения в столбце Owed разные. Я уже отфильтровал таблицу с помощью оператора select во временную таблицу для другого запроса, а затем попытался отразить у меня все дублированные даты, которые вы видите ниже.
Теперь у меня есть таблица, которая выглядит следующим образом:
ID| Date |Owes
-----------------
1 20110901 89
1 20110901 179
1 20110901 101
1 20110901 197
1 20110901 510
2 20111001 10
2 20111001 211
2 20111001 214
2 20111001 669
Мой текущий запрос:
Drop Table #Temp
Select Distinct Convert(Varchar(8), DateAdd(dd, Datediff(DD,0,DateDue),0),112)as Date
,ID
,Paid
Into #Temp
From Table
Where Paid <> '0'
Select ,Id
,Date
,Max(Owed)
,Min(Owed)
From #Temp
Group by ID, Date, Paid
Order By ID, Date, Paid
Это не удаляет ни одну из моих дат, которые совпадают, я новичок в SQL, но я предполагаю его, потому что мой столбец owed
имеет другие значения. Я в основном хочу иметь возможность отозвать первую запись, так как это всегда будет моя минимальная выплата, а моя последняя запись всегда будет моей максимальной задолженностью, чтобы вычислить мою общую задолженность по ID.
Я новичок в SQL, поэтому хотел бы понять, что я сделал не так для моего будущего знания структурирования запросов?
Большое спасибо