Как сузить записи в 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

0 ответов

Другие вопросы по тегам