下午。我正在使用SQLServer 2008r2,我有这个SQL:
SELECT dateName(mm,wfi.created) AS theMonth
, datePart(yyyy,wfi.created) AS theYear
, count(wf.WebFormsIndexID) AS numOfForms
FROM WebFormsInstances as wfi
LEFT OUTER JOIN WebFormsIndex as wf on wfi.webFormsIndexID = wf.WebFormsIndexID
where year(wfi.created) = year(getDate())
group by datePart(yyyy,wfi.created), datePart(mm,wfi.created), dateName(mm,wfi.created)
order by theYear,datePart(mm,wfi.created)
给出了本月提交的所有表格的总数:
January 2015 799
February 2015 1282
March 2015 1450
...
大约有50种不同形式。表单名称是wf.formName如何对其进行重组,以便我可以获得每个月的每个表单的总数。类似的东西:
myFormName1 January 2015 220
myFormName2 January 2015 179
我可以弄清楚如何在两个查询中执行此操作但理想情况下喜欢在一个查询中执行此操作?目标是报告,页面上的表单名称,页面上的月份,每个月的表单总数。
答案 0 :(得分:0)
SELECT
wf.formName
dateName(mm,wfi.created) AS theMonth,
datePart(yyyy,wfi.created) AS theYear,
count(wf.WebFormsIndexID) AS numOfForms
FROM WebFormsInstances as wfi
LEFT OUTER JOIN WebFormsIndex as wf on wfi.webFormsIndexID = wf.WebFormsIndexID
where year(wfi.created) = year(getDate())
group by wf.formName, datePart(yyyy,wfi.created), datePart(mm,wfi.created)
order by wf.formName, datePart(yyyy,wfi.created), datePart(mm,wfi.created)