SQL क्वेरी परिणाम अभिव्यक्त करने की आवश्यकता है

वोट
30

कोड है

select customerid, count(campaignid) as T, Convert (varchar, CreatedOn,23) from customerbenefits 
where campaignid='6EDBB808-1A91-4B1D-BE1D-27EF15C5D4C7'
and createdon between '2019-09-01' and '2019-10-01'
group by customerid,CreatedOn
having count(campaignid)>1
order by createdon desc 

परिणाम है

 --                         id            /       count  /time         
 --18655680-3B5E-4001-1984-00000000  / 12   /2019-09-30
 --18655680-3B5E-4001-1984-00000000 /  7    /    2019-09-30
 --18655680-3B5E-4001-1984-00000000 / 6    / 2019-09-30

मैं के रूप में परिणाम चाहते हैं

 --                         id      /             count / time     
 --  18655680-3B5E-4001-1984-00000000 / 25/ 2019-09-30

मैं इसे समय फिल्टर और राशि की गिनती करने के लिए वर्गीकृत किया चाहते हैं।

मैं अपने प्रश्न को कैसे बदल सकते हैं?

07/10/2019 को 12:59
उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
0

एकत्रीकरण के दो स्तर का उपयोग करें:

select customerid, dte, sum(T)
from (select customerid, count(*) as T, convert(varchar(255), CreatedOn, 23) as dte
      from customerbenefits 
      where campaignid = '6EDBB808-1A91-4B1D-BE1D-27EF15C5D4C7' and
            createdon >= '2019-09-01' and
            createdon < '2019-10-01'
      group by customerid, CreatedOn
      having count(*) > 1
     ) t
group by customerid, dte
order by createdon desc ;

ध्यान दें कि मैं तिथियों की तुलना तो 2019/10/01 पर आधी रात सितम्बर के लिए डेटा में शामिल नहीं है बदल दिया है।

07/10/2019 को 13:01
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more