3

今年の数百行のDatatableがあります。(MS SqlServer 2k8)

このデータセットを顧客からの問い合わせ/月に分割したいと思います。

私がこれまでに持っているのは;

Select count(id) As Customers, DatePart(month, enquiryDate) as MonthTotal, productCode From customerEnquiries
where enquiryDate > '2012-01-01 00:00:00'
group by productCode, enquiryDate

ただし、これにより、各データ項目の行が生成されます。(データ項目ごとに1か月あたりの行が必要です。)

では、上記のクエリを変更して、取得する代わりに

1 1 10
1 1 10
1 1 11
1 2 10
1 2 10

..。

私は得る

2 1 10    <-- 2 enquiries for product code 10 in month 1
1 1 11    <-- 1 enquiries for product code 11 in month 1
2 2 10    <-- 2 enquiries for product code 10 in month 2
etc

また、おまけの質問として、月の列に1,2,3ではなく、1月、2月、3月の出力になるように、毎月名前を付ける簡単な方法はありますか?

4

2 に答える 2

7

これを試して

Select count(id) As Customers, DatePart(month, enquiryDate) as MonthTotal, productCode From customerEnquiries
where enquiryDate > '2012-01-01 00:00:00'
group by productCode, DatePart(month, enquiryDate)

これはあなたを助けるかもしれません。

于 2012-09-25T13:02:53.833 に答える
2

ボーナスのために、DATENAME(MONTH, enquiryDate)あなたに月の名前を与えます。

于 2012-09-25T13:05:24.473 に答える