表中所有现有日期的SQL列计数结果
我有一个表DTTransaction和DTHotelTransaction,前者是主键,后者是外键表中所有现有日期的SQL列计数结果,sql,Sql,我有一个表DTTransaction和DTHotelTransaction,前者是主键,后者是外键 Columns in DTTransaction :machinename(varchar),BookedOn(datetime),TransactionID(int) Columns in DTHotelTransaction :HCOMCID(int) ,TransactionID 要求: 对于DTTransaction中的每个BookedOn值,我需要这些(4154284154294
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
子句,因此结果将在每个机器名称中按日期排序