Fråga : Gruppera med DISTINKT RÄKNING

Hi har Guys

I gjort en query som kan välja alla postar mottaget per dag per månad i ett år, och den fungerar, som den bör. Nu jag behöver denna att stötta för att räkna numrera av distinkt kunder som mottar postar per dag i stället för totalten postar kolonnen för count.

The kallas CustomerId

How skulle mig går, genom att göra det här?

in bottnen du kan se ett valt att gör vad jag önskar, men jag önskar den i mitt ledar- år för
för select




/*master select*/
SELECT (t1.CreatedDate) som [året], månaden för
(t1.CreatedDate),
Day1 = summan (fallet, när dagen (t1.CreatedDate) = 1 1 annars 0 avslutar därefter),
Day2 = summan (fallet, när dagen (t1.CreatedDate) = 2 1 annars 0 avslutar därefter),
Day3 = summan (fallet, när dagen (t1.CreatedDate) = 3 1 annars 0 avslutar därefter),
Day4 = summan (fall när dagen (t1.CreatedDate) = 4 därefter 1 annars 0 avslutar),
Day5 = summan (fallet, när dagen (t1.CreatedDate) = 5 1 annars 0 avslutar därefter),
Day6 = summan (fallet, när dagen (t1.CreatedDate) = 6 1 annars 0 avslutar därefter),
Day7 = summan (fallet, när dagen (t1.CreatedDate) = 7 1 annars 0 avslutar därefter),
Day8 = summan (fallet, när dagen (t1.CreatedDate) = 8 1 annars 0 avslutar därefter),
Day9 = summan (fallet, när dagen (t1.CreatedDate) = 9 1 annars 0 avslutar därefter),
    Day10 = summa (fallet, när dagen (t1.CreatedDate) = 10 1 annars 0 avslutar därefter),
Day11 = summa (fallet, när dagen (t1.CreatedDate) = 11 1 annars 0 avslutar därefter),
Day12 = summa (fallet, när dagen (t1.CreatedDate) = 12 1 annars 0 avslutar därefter),
Day13 = summa (fallet, när dagen (t1.CreatedDate) = 13 1 annars 0 avslutar därefter),
Day14 = summa (fallet, när dagen (t1.CreatedDate) = 14 1 annars 0 avslutar därefter),
Day15 = summa (fall när dagen (t1.CreatedDate) = 15 därefter annan 1 0 avslutar),
Day16 = summan (fallet, när dagen (t1.CreatedDate) = 16 1 annars 0 avslutar därefter),
Day17 = summan (fallet, när dagen (t1.CreatedDate) = 17 1 annars 0 avslutar därefter),
Day18 = summan (fallet, när dagen (t1.CreatedDate) = 18 1 annars 0 avslutar därefter),
Day19 = summan (fallet, när dagen (t1.CreatedDate) = 19 1 annars 0 avslutar därefter),
Day20 = summan (fallet, när dagen (t1.CreatedDate) = 20 1 annars 0 avslutar därefter),
Day21 = summan (fall när dagen (t1.CreatedDate) = 21 därefter 1 annars 0 avslutar),
Day22 = summan (fallet, när dagen (t1.CreatedDate) = 22 1 annars 0 avslutar därefter),
Day23 = summan (fallet, när dagen (t1.CreatedDate) = 23 1 annars 0 avslutar därefter),
Day24 = summan (fallet, när dagen (t1.CreatedDate) = 24 1 annars 0 avslutar därefter),
Day25 = summan (fallet, när dagen (t1.CreatedDate) = 25 1 annars 0 avslutar därefter),
Day26 = summan (fallet, när dagen (t1.CreatedDate) = 26 1 annars 0 avslutar därefter),
Day27 = summan(fall, när dagen (t1.CreatedDate) = 27 1 annars 0 avslutar därefter),
Day28 = summan (fallet, när dagen (t1.CreatedDate) = 28 1 annars 0 avslutar därefter),
Day29 = summan (fallet, när dagen (t1.CreatedDate) = 29 1 annars 0 avslutar därefter),
Day30 = summan (fallet, när dagen (t1.CreatedDate) = 30 1 annars 0 avslutar därefter),
Day31 = summan (fallet, när dagen (t1.CreatedDate) = 31 1 annars 0 avslutar därefter), år för
för
WHERE för t1 för
MailReceived för
FROM för RÄKNINGEN för
för
(*) SAMMANLAGT(t1.CreatedDate) = 2010
GROUP VID året för
(t1.CreteadDate),
order för månaden för
(t1.CreatedDate) vid SAMMANLAGD DESC
















/*Customers för
per
för day*/
SELECT ÖVERTRÄFFAR omvänden för 100
(datetime, omvänden (röding (10), t1.CreatedDate, 101)) thedate DISTINKT, räkning ((t1.CustomerId)) Omvänd för Total
FROM
MailReceived t1-
WHERE
BusinessCenterId=4
GROUP BY
(datetime, omvänden (röding (10), t1.CreatedDate, 101))
ORDER BY
      thedate desc
" klar "

Svar : Gruppera med DISTINKT RÄKNING


i stället för
  Day1 = summa (fall, när dagen (t1.CreatedDate) = 1 1 annars 0 avslutar därefter),
       
du önskar
Day1 = räkning (distinkt fall, när dagen (t1.CreatedDate) = 1 annars ogiltiga customerid avslutar därefter),
   
etc.
Andra lösningar  
 
programming4us programming4us