5

これは私のテーブルです

ここに画像の説明を入力

正確な年ごとの注文数を知りたい場合は、次のクエリを書くだけです

Select COUNT(*) CountOfOrders, Year(OrderDate) Year  
From Orders 
Group by YEAR(OrderDate)

この結果セットを持つ

ここに画像の説明を入力

しかし、この結果セットが必要な場合はどうすればよいでしょうか?

CoundOfOrder       FromYear_toYear
     5            2005-2010
     4            2010-2015
4

2 に答える 2

6

このクエリを試すことができます。これは最も簡単な方法で役立ちます。

SELECT  COUNT(*),(CONVERT(VARCHAR,MIN(year(orderdate)))+'-' + CONVERT(VARCHAR,MAX(year(orderdate)))) AS yearRange
FROM orders
GROUP BY FLOOR(Year(OrderDate) /5)

例を使用してこのクエリを作成するリンクSQL_Fiddle_Linkを参照できます。

于 2013-06-28T10:15:38.813 に答える
3
Select COUNT(*) CountOfOrders, 
CASE WHEN Year(OrderDate) BETWEEN 2005 AND 2009 THEN '2005-2009'
     WHEN Year(OrderDate) BETWEEN 2010 AND 2015 THEN '2010-2015'
END AS Year  
From Orders 
Group by 
CASE WHEN Year(OrderDate) BETWEEN 2005 AND 2009 THEN '2005-2009'
     WHEN Year(OrderDate) BETWEEN 2010 AND 2015 THEN '2010-2015'
END

日付範囲を調整したことに注意してください。そうしないと、2 つのカテゴリでいくつかのものを数えて、意味のあるデータが得られないことに注意してください。

于 2013-06-28T09:36:33.610 に答える