Pergunta : Agrupamento com CONTAGEM DISTINTA

Olá! Guys

I fêz uma pergunta que pudesse selecionar todo o correio recebido por o dia por o mês em um ano, e trabalha como ele dever. Agora eu preciso este de suportar para contar o número de clientes distintos que recebem o correio por o dia em vez da coluna do correio count.

The do totalt são chamados CustomerId

How mim iriam fazendo isso aqui? o

in a parte inferior você pode ver um seleto que faz o que eu quero, mas eu quero-o em meu ano mestre do
do select




/*master select*/
SELECT (t1.CreatedDate) como [ano], o mês do
(t1.CreatedDate),
Day1 = soma (caso quando dia (t1.CreatedDate) = 1 então 1 mais 0 extremidades),
Day2 = soma (caso quando dia (t1.CreatedDate) = 2 então 1 mais 0 extremidades),
Day3 = soma (caso quando dia (t1.CreatedDate) = 3 então 1 mais 0 extremidades),
Day4 = soma (caso quando dia (t1.CreatedDate) = 4 então 1 mais 0 extremidades),
Day5 = soma (caso quando dia (t1.CreatedDate) = 5 então 1 mais 0 extremidades),
Day6 = soma (caso quando dia (t1.CreatedDate) = 6 então 1 mais 0 extremidades),
Day7 = soma (caso quando dia (t1.CreatedDate) = 7 então 1 mais 0 extremidades),
Day8 = soma (caso quando dia (t1.CreatedDate) = 8 então 1 mais 0 extremidades),
Day9 = soma (caso quando dia (t1.CreatedDate) = 9 então 1 mais 0 extremidades),
    Day10 = soma (caso quando dia (t1.CreatedDate) = 10 então 1 mais 0 extremidades),
Day11 = soma (caso quando dia (t1.CreatedDate) = 11 então 1 mais 0 extremidades),
Day12 = soma (caso quando dia (t1.CreatedDate) = 12 então 1 mais 0 extremidades),
Day13 = soma (caso quando dia (t1.CreatedDate) = 13 então 1 mais 0 extremidades),
Day14 = soma (caso quando dia (t1.CreatedDate) = 14 então 1 mais 0 extremidades),
Day15 = soma (caso quando dia (t1.CreatedDate) = 15 então 1 outros 0 extremidades),
Day16 = soma (caso quando dia (t1.CreatedDate) = 16 então 1 mais 0 extremidades),
Day17 = soma (caso quando dia (t1.CreatedDate) = 17 então 1 mais 0 extremidades),
Day18 = soma (caso quando dia (t1.CreatedDate) = 18 então 1 mais 0 extremidades),
Day19 = soma (caso quando dia (t1.CreatedDate) = 19 então 1 mais 0 extremidades),
Day20 = soma (caso quando dia (t1.CreatedDate) = 20 então 1 mais 0 extremidades),
Day21 = soma (caso quando dia (t1.CreatedDate) = 21 então 1 mais 0 extremidades),
Day22 = soma (caso quando dia (t1.CreatedDate) = 22 então 1 mais 0 extremidades),
Day23 = soma (caso quando dia (t1.CreatedDate) = 23 então 1 mais 0 extremidades),
Day24 = soma (caso quando dia (t1.CreatedDate) = 24 então 1 mais 0 extremidades),
Day25 = soma (caso quando dia (t1.CreatedDate) = 25 então 1 mais 0 extremidades),
Day26 = soma (caso quando dia (t1.CreatedDate) = 26 então 1 mais 0 extremidades),
Day27 = soma(caso quando dia (t1.CreatedDate) = 27 então 1 mais 0 extremidades),
Day28 = soma (caso quando dia (t1.CreatedDate) = 28 então 1 mais 0 extremidades),
Day29 = soma (caso quando dia (t1.CreatedDate) = 29 então 1 mais 0 extremidades),
Day30 = soma (caso quando dia (t1.CreatedDate) = 30 então 1 mais 0 extremidades),
Day31 = soma (caso quando dia (t1.CreatedDate) = 31 então 1 mais 0 extremidades), ano TOTAL do
do
WHERE do T1 do
MailReceived do
FROM da CONTAGEM do
do
(*)(t1.CreatedDate) = 2010
GROUP EM o ano do
(t1.CreteadDate),
order do mês do
(t1.CreatedDate) pelo
















/*Customers do
DESC por o converso SUPERIOR do
100
de day*/
SELECT (datetime, converso (carvão animal (10), t1.CreatedDate, 101)) thedate, contagem (DISTINTA (T1. CustomerId)) Converso do
WHERE
BusinessCenterId=4
GROUP BY
do T1 de Total
FROM
MailReceived (datetime, converso (carvão animal (10), t1.CreatedDate, 101))
ORDER BY
      thedate desc
class= do

Resposta : Agrupamento com CONTAGEM DISTINTA


em vez de
  Day1 = soma (caso quando dia (t1.CreatedDate) = 1 então 1 mais 0 extremidades),
       
você quer
Day1 = contagem (caso distinto quando dia (t1.CreatedDate) = 1 então extremidade nula outra do customerid),
   
etc.
Outras soluções  
 
programming4us programming4us