Witam,
Mam taki problem. Powiedzmy, że mam taką tabelkę:
Chciałbym ją posortować w taki sposób, żeby na początku wyświetlały się rekordy dla klienta z najpóźniejszą datą , ale w taki sposób, że jeśli ten klient ma jeszcze jakąś wcześniejszą datę, to najpierw jest wyświetlana właśnie ta data, a nie data innego klienta z późniejszą datą (Wiem, trochę trudno mi to wytłumaczyć:) Generalnie chodzi o to żeby rekordy dotyczące jednego klienta były koło siebie, ale były posortowane według daty malejąco oraz 1 rekordy u góry powinny być dla klienta z najpóźniejszą datą. Czyli tabelka wynikowa powinna wyglądać tak:
kod dla tabelki wejściowej:
```CREATE table #test
(
customerid int,
data varchar(10)
)
insert into #test(CustomerID,data) values(1004, '2015-11-23')
insert into #test(CustomerID,data) values(1004, '2015-10-21')
insert into #test(CustomerID,data) values(1017, '2015-11-16')
insert into #test(CustomerID,data) values(1017, '2015-11-02')
insert into #test(CustomerID,data) values(1017, '2015-10-07')
insert into #test(CustomerID,data) values(1020, '2015-10-22')
insert into #test(CustomerID,data) values(1025, '2015-11-23')
insert into #test(CustomerID,data) values(1025, '2015-11-09')
insert into #test(CustomerID,data) values(1025, '2015-10-21')
insert into #test(CustomerID,data) values(1026, '2015-11-17')
insert into #test(CustomerID,data) values(1026, '2015-11-03')
insert into #test(CustomerID,data) values(1026, '2015-10-05')
insert into #test(CustomerID,data) values(1031, '2015-11-24')
insert into #test(CustomerID,data) values(1033, '2015-11-24')
insert into #test(CustomerID,data) values(1033, '2015-10-27')
insert into #test(CustomerID,data) values(1033, '2015-10-08')
select * from #test