Je travaille avec le moteur GreenPlum, j'utilise pgAdmin pour interroger les données, je n'ai que des permissions de lecture, donc je ne peux pas faire une fonction ou une procédure, même je ne sais pas pourquoi je ne peut pas travailler avec des variables.Partition partition par la même valeur
C'est mes données et le résultat souhaité:
Pais Campaña Representante Actividad Racha **Desired value** 96 20150302 758593197 1 1 1 96 20150303 758593197 1 2 2 96 20150304 758593197 1 3 3 96 20150305 758593197 0 1 1 96 20150306 758593197 1 4 1 96 20150307 758593197 0 2 1 96 20150308 758593197 0 3 2 96 20150309 758593197 1 5 1 96 20150310 758593197 0 4 1 96 20150311 758593197 0 5 2 96 20150312 758593197 0 6 3 96 20150313 758593197 0 7 4 96 20150314 758593197 1 6 1
C'est l'une de mes tentatives:
Select
Pais,Campaña,Representante,Actividad,
rank() over(partition by Pais,Representante,Actividad
order by Pais,Campaña,Representante) as Racha
From TEMP20151109
Order By Campaña;
La valeur souhaitée est un compte de la consécution de la valeur Actividad
, j'ai besoin pour réinitialiser le compte lorsque Actividad
est 0.
Il serait utile que les noms de champs de votre requête tentée correspondent à vos données d'échantillon. À l'heure actuelle, il est difficile d'en comprendre le sens. – sstan
Copie possible de [T-sql Réinitialiser le numéro de ligne lors d'un changement de champ] (http://stackoverflow.com/questions/13405264/t-sql-reset-row-number-on-field-change) –
Votre résultat souhaité vous suggère vouloir réinitialiser le compte avec chaque * changement * dans 'Actividad', pas 'quand' Actividad 'est 0'. Correct? –