C#应用程序的月度报告

时间:2012-03-05 12:20:06

标签: c#

我正在使用VS2010为我的应用程序构建报告。

应用程序的数据存储在SQL Server 2008 R2数据库中。

列是

DateCreated (DateTime)
CardPrinted (bit)
DatePrinted(DateTime)

我想创建一份报告,显示从2012年1月开始的每个月

  1. 第1周的CardPrinted总数
  2. 第2周的CardPrinted总数
  3. 第3周的CardPrinted总数
  4. 第4周的CardPrinted总数
  5. 注意:如果打印了一张卡,则数据库中的标记为1,因此CardPrinted
    列是1或0.

    我需要有人帮助解决我需要的查询。

2 个答案:

答案 0 :(得分:3)

这是一个开始

Select DATEPART ( week , DatePrinted) as WeekNo, Count(*) as TotalNumberPrinted
From SomeTable 
Where CardPrinted = 1
And DatePrinted >= '2012-01-01'
Group by DATEPART ( week , DatePrinted) 

答案 1 :(得分:0)

谢谢Tony Hopkinson 经过一点修改后,我做对了。 这是查询:

SELECT DATEPART(MONTH,DatePrinted)AS Month_of_year,
DATEPART(WEEK,DatePrinted) AS Weeks, COUNT(*) AS No_ofCardprinted
From  MyTable
Where CardPrinted = 1 and DateCreated between DATEADD(Day, - 61, GETDATE())  
and DATEADD(Day, -0, GETDATE())
Group by DATEPART (WEEK , DatePrinted), DATEPART(MONTH,DatePrinted)
order by Month_of_year ASC