J'ai un ensemble de données qui vous indique essentiellement combien de coupons ont été envoyés pour chaque détaillants et combien de personnes ont répondu, leur taux de réponse correspondant pour chaque revendeur et pour chaque coupons.
Je cherche à classer chaque coupons dans chaque Le concessionnaire basé sur le taux de réponse et si deux coupons avaient le même taux de réponse, j'ai besoin d'attribuer un meilleur rang aux coupons qui ont été envoyés le plus p>
Ceci est le script que j'ai essayé mais ce n'est pas le classement correctement p> C'est le résultat attendu p>
3 Réponses :
Son comme vous voulez Partition par CODE> THE BalanceCode CODE> et le Coupon_Name Code> et commandez par code> le Responsible code> et e-mails code> (en supposant que cela détient le numéro de numéro un coupon a été envoyé) décroissant. SELECT dealercode,
coupon_name,
emailsent,
responders,
responserate,
rn = rank() OVER (PARTITION BY dealercode,
coupon_name
ORDER BY responserate DESC,
emailsent DESC)
FROM table123;
Cela me donne tout le classement comme "1" ... colonne rn est plein de "1 ': (.... oui e-mails est le nombre de coupons envoyés
@mavles: Veuillez fournir une démonstration par exemple. Sur dB <> FIDDLE qui montre votre problème.
Utilisez Row_Number
SELECT dealercode,
coupon_name,
emailsent,
responders,
responserate,
row_number() OVER (PARTITION BY dealercode,
coupon_name
ORDER BY responserate DESC,
emailsent desc
) RN
FROM table123;
Je ne vois pas le courrier électronique envoyé ici non plus dans l'ordre ou en partition par. Veuillez noter que si le taux de réponse est identique, j'ai besoin d'attribuer un meilleur classement au coupon qui a été envoyé le plus
RECHERCHE DE VOTRE ÉCHANTILLON Vous devez utiliser uniquement la partition par distribution
SELECT DealerCode, Coupon_name, emailsent, responders, responserate, RN = RANK()OVER(PARTITION BY DealerCode ORDER BY DealerCode,responserate,emailsent) FROM table123
Vous devez également ajouter un échantillon de données cohérent. Non seulement le résultat attendu ..
mis à jour le jeu de données ... ça a l'air bien maintenant je suppose
Je ne vois aucun échantillon .. Seul le résultat attendu
Les 5 premières colonnes sont la base de données, la 6ème colonne est ce que je m'attends. J'ai essayé de coller des données d'Excel, mais il colle comme URL d'image.