2017-07-10 9 views
0

DBにはProjectsのレコードが保存されています。これらのプロジェクトには、このプロジェクトで作業した時間数が格納されています。もちろんMySQLグループの結果は特定の間隔になりますか?

Projecs 
id | name | hours | ... 
----+--------+--------+-------- 
1 | P1 | 5 | ... 
----+--------+--------+-------- 
2 | P2 | 20 | ...  
----+--------+--------+-------- 
3 | P3 | 9 | ... 
----+--------+--------+-------- 
4 | P4 | 28 | ... 
----+--------+--------+-------- 
5 | P5 | 42 | ...  
----+--------+--------+-------- 
6 | P6 | 8 | ... 

0-10 hours ==> 3 
11-20 hours ==> 0 
21-30 hours ==> 1 
31-40 hours ==> 0 
41-50 hours ==> 1 

を、これはすべての行とforループを返す単純なSELECTステートメントを使用して簡単に行うことができます:私は存在するどのように多くのプロジェクトX時間と表示され、いくつかの簡単な統計を作成したいと思います

すべての結果を実行し、希望の間隔/グループに分割します。

質問:これはMySQLだけでもできますか? 10時間のギャップによってグループ化するには

+0

上記のcase文の検査条件が同じ列を追加します。たとえば、0〜10の間の時間、1の場合。同様に11~20,21~30,31~40,41~50の2,3,4,5。その列を使ってグループ化する – JayaPrakash

答えて

1

、あなたは10が必要な区間であることを...が

SELECT count(id) from Projects group by truncate(hours/10,0) 

変更使用することができます。

関連する問題