WEEK | CID | CUSTOMER_ID | L1
2017-04 | 12 | 1 | ABC
2017-04 | 13 | 1 | ABC
2017-04 | 13 | 1 | ABC
2017-04 | 16 | 1 | DFG
2017-04 | 15 | 2 | DFG
2017-14 | 14 | 1 | DFG
J'ai créé une table en combinant plusieurs bases de données (un échantillon de la table créée est ci-dessus). Je veux le nombre de fois que chaque customer_id est arrivé chaque semaine (comme pour 2017-04
semaine customer_id 1
est venu en 3 fois, nous voulons considérer la ligne 2 & 3 comme identique (donc 1 compte pour cela) puis la ligne 1 et la rangée 4 fait . 3 foisFonction d'agrégation sur le groupe par sur plusieurs colonnes
Ainsi, la production devrait être:
WEEK | CUSTOMER_ID | COUNT(CUSTOMER_ID)
2017-04 | 1 | 3
2017-04 | 2 | 1
2017-14 | 1 | 1
J'essaie quelque chose dans les lignes suivantes:
select
week, customer_id, count(customer_id)
from
table
group by
week, cid, customer_id, L1;
Mais, je veux confirmer faire comme cela que ça compte Rangées 2 & 3 en un ou deux chefs d'accusation?
Je pense que le nombre (cid distinct) est ce que je veux, mais juste curieux de savoir si je fais groupe par semaine, customer_id, L1 au lieu de groupe par semaine, customer_id, cela fera-t-il une différence? – Arman
@Arman. . . Selon vos données d'échantillon, cela ferait une différence. –