表中所有现有日期的SQL列计数结果

表中所有现有日期的SQL列计数结果,sql,Sql,我有一个表DTTransaction和DTHotelTransaction,前者是主键,后者是外键 Columns in DTTransaction :machinename(varchar),BookedOn(datetime),TransactionID(int) Columns in DTHotelTransaction :HCOMCID(int) ,TransactionID 要求: 对于DTTransaction中的每个BookedOn值,我需要这些(4154284154294

我有一个表DTTransaction和DTHotelTransaction,前者是主键,后者是外键

Columns in DTTransaction  :machinename(varchar),BookedOn(datetime),TransactionID(int) 
Columns in DTHotelTransaction :HCOMCID(int) ,TransactionID 
要求:

对于DTTransaction中的每个BookedOn值,我需要这些(415428415429415430415431415432)HCOMCID的机器名和machinename计数

我正在努力做到:

select DTTransaction.machinename,count(DTTransaction.machinename) from DTTransaction   
join DTHotelReservation on DTTransaction.TransactionID =      
DTHotelReservation.TransactionID
and DTHotelReservation.HCOMCID in (
415428,
415429,
415430,
415431,
415432)
where convert(varchar(10),BookedOn,101)='04/10/2013'
group by DTTransaction.machinename
但是它只会给出一个特定的日期。我想得到所有现有BookedOn值的计数


提前感谢。

如果您想要所有日期的总和,只需删除
where
子句:

select DTTransaction.machinename, count(DTTransaction.machinename)
from DTTransaction join
     DTHotelReservation
     on DTTransaction.TransactionID = DTHotelReservation.TransactionID and
        DTHotelReservation.HCOMCID in (415428, 415429, 415430, 415431, 415432)
group by DTTransaction.machinename
如果您希望按日期显示结果,请将其包含在您的
分组依据中。比如说,

select DTTransaction.machinename, convert(varchar(10),BookedOn,101), count(DTTransaction.machinename)
from DTTransaction join
     DTHotelReservation
     on DTTransaction.TransactionID = DTHotelReservation.TransactionID and
        DTHotelReservation.HCOMCID in (415428, 415429, 415430, 415431, 415432)
group by DTTransaction.machinename, convert(varchar(10),BookedOn,101)
order by 1, MAX(BookedOn)
我包含了一个
orderby
子句,因此结果将在每个机器名称中按日期排序