Как сузить записи в SQL на основе нескольких условий
Customer Rank Joining_date salary
A 1 2017-05-20 1000
A 2 2017-10-12 500
A 1 2017-10-10 800
A 1 2017-10-20 400
A 1 2017-03-05 400
B 2 2017-05-20 200
B 2 2017-05-15 100
B 2 2017-03-10 50
c 3 2017-06-10 600
c 4 2017-06-05 600
Для данного идентификатора клиента
Шаг 1: Выберите самую последнюю дату joining_date(макс. Joining_date) и сохраните все записи клиентов в течение 15 дней с недавней даты joining_date и отбросьте другие
Шаг 2: Сохранить всех клиентов, если рейтинг равен 1 .
Шаг 3: если у клиента есть записи с другим рангом, выберите запись на основе последнего ранга (порядок по рангу desc)
Шаг 4: если у клиента есть записи с таким же рангом (кроме 1), выберите запись на основе самой низкой зарплаты (порядок по зарплате asc)
Customer Rank Joining_date salary
A 1 2017-10-10 800
A 1 2017-10-20 400
B 2 2017-05-15 100
c 4 2017-06-05 600