Друзья, я хочу сделать функцию ранга для нижеследующего набора записей, учитывая максимальное значение Last_transactiondate и присвоение ему ранга 1 сейчас, как только я получу, что я поставлю № 1 на ранги, у клиента есть Родитель и оставшийся ранг как Чайлдс.
Но из-за разного customerno и разных значений в других столбцах я не могу сделать эффективное ранжирование. Пожалуйста, помогите мне в этой части
Я хочу ранжировать клиентов на основе LastTransactionDate. рассмотрим столбец LastTransactionDate, значение «14 -06-2019 14:48:24» имеет максимальную запись или максимальную дату. Следовательно, для соответствующего CustomerNo должен быть выбран «Parent», а остальные должны быть помечены как дочерние. Если только если бы я мог присвоить CustomerNo 0003178419452479 ранг 1, а затем последующие ранги в порядке убывания, что я не могу сделать. Я не могу найти, что Столбец не выводит столбец, который существует с одинаковым значением для всех клиентов, чтобы поставить ранг на основе столбца Дата.
Код, который я написал, и выходные данные показаны здесь введите описание изображения здесь
Кроме того, показанное здесь изображение является требуемым выходным сигналом из вышеуказанного набора данных изображения
код
> SELECT CustomerNO,CustomerID,CustomerIDType,CustomerNationalityCode,CustomerDateOfBirth,LastTransactionDate,Class_Profile,
,Dense_Rank() over ( PARTITION BY n.CustomerNO ORDER BY LastTransactionDate DESC ) AS ranks,
case when ranks=1 then 'P' else 'C' end as Class_Profile
FROM CustomerTabledetails
GROUP BY CustomerNo,CustomerID,CustomerIDType,
CustomerNationalityCode,CustomerDateOfBirth,LastTransactionDate,Class_Profile
order by lasttransactiondate desc