在SQL中,如何使用count查看一个月之间“消息”列和“小时”列的计数?

在SQL中,如何使用count查看一个月之间“消息”列和“小时”列的计数?,sql,database,Sql,Database,我想计算每小时的邮件数,以列日期分隔,我写了这个查询,但它显示每重复一小时1封邮件,有人能帮忙吗?谢谢 Select MsgCount,ReadTime From (Select Count(MsgID) MsgCount, LTRIM(RIGHT(CONVERT(VARCHAR(20), mDate, 100), 7)) as ReadTime FROM (Select ReadDate as mDate, Convert (TIME, R

我想计算每小时的邮件数,以列日期分隔,我写了这个查询,但它显示每重复一小时1封邮件,有人能帮忙吗?谢谢

Select MsgCount,ReadTime 
From (Select Count(MsgID) MsgCount, 
      LTRIM(RIGHT(CONVERT(VARCHAR(20), mDate, 100), 7)) as ReadTime
      FROM (Select  ReadDate as mDate,
            Convert (TIME, ReadDate) as ReadTime,MessageID as MsgID 
            From QUEUE_BOOKINGQUEUE 
            WHERE MessageID like '%Transaction%'
            AND ReadDate BETWEEN '2017-11-01' AND '2017-11-30') 
      s1
      Group by mDate
) A
Group by MsgCount,ReadTime
Order by 2
因为这张照片没有复制品,所以它对我起了作用 因此,如果要删除分组,将如下所示:

Select MsgCount,ReadTime 
From (Select Count(MsgID) MsgCount, 
      LTRIM(RIGHT(CONVERT(VARCHAR(20), mDate, 100), 7)) as ReadTime
      FROM (Select  ReadDate as mDate,
            Convert (TIME, ReadDate) as ReadTime,MsgID as MsgID 
            From QUEUE_BOOKINGQUEUE 
    )  s1
      Group by mDate,s1.MsgID
) A

是的,似乎没有重复,我添加了日期:选择MsgCount,ReadTime,ReadDate From选择CountMsgID MsgCount,LTRIMRIGHTCONVERTVARCHAR20,mDate,100,7作为ReadTime,CONVERTDATE,mDate作为ReadDate From选择ReadDate作为mDate,转换时间,ReadDate作为ReadTime,MessageID作为MsgID来自队列\预订队列,其中MessageID如“%Transaction%”和ReadDate介于“2017-11-01”和“2017-11-30”之间1按mDate分组按MsgCount、ReadTime、ReadDate顺序3,2个单位,现在我想删除分钟数,要查看每小时的消息,您的想法是什么,因为选择MsgCount、DATEPARTHOUR、ReadTime,ReadDate添加后,我看到小时和日期有重复,每行有一条消息,我需要看到一行消息的计数,带有1小时和1日期。消息ID是uniq,所以我们需要用sum更改计数吗?标记您正在使用的dbms。该查询包含许多特定于产品的功能。