Tôi có một tập hợp con của hồ sơ mà trông như thế này:Cách nhận ngày tối thiểu tiếp theo không phải trong vòng 30 ngày và sử dụng làm điểm tham chiếu trong SQL?
ID DATE
A 2015-09-01
A 2015-10-03
A 2015-10-10
B 2015-09-01
B 2015-09-10
B 2015-10-03
...
Đối với mỗi ID ngày tối thiểu đầu tiên là kỷ lục chỉ số đầu tiên. Bây giờ tôi cần phải loại trừ các trường hợp trong vòng 30 ngày kể từ ngày hồ sơ chỉ mục và bất kỳ bản ghi nào có ngày lớn hơn 30 ngày trở thành một bản ghi chỉ mục khác.
Ví dụ: đối với ID A, 2015-09-01 và 2015-10-03 là cả bản ghi chỉ mục và sẽ được giữ lại vì chúng cách nhau hơn 30 ngày. 2015-10-10 sẽ bị loại bỏ vì trong vòng 30 ngày kể từ ngày trường hợp chỉ mục thứ 2.
Đối với ID B, 2015-09-10 sẽ bị xóa và KHÔNG phải là trường hợp chỉ mục vì trong vòng 30 ngày kể từ ngày kỷ lục chỉ mục đầu tiên. 2015-10-03 sẽ được giữ lại vì nó lớn hơn 30 ngày của hồ sơ chỉ số thứ nhất và sẽ được coi là trường hợp chỉ mục thứ 2.
Đầu ra nên trông như thế này:
ID DATE
A 2015-09-01
A 2015-10-03
B 2015-09-01
B 2015-10-03
Làm thế nào để làm điều này trong SQL server 2012? Không có giới hạn về số ngày ID có thể có, có thể chỉ là 1 đến 5 hoặc nhiều hơn. Tôi khá cơ bản với SQL nên mọi trợ giúp sẽ được đánh giá cao.
Chúng tôi vẫn đang gặp sự cố? –