2017-07-10 60 views
0

DB擁有Projects的記錄,這些項目中的每一個都存儲了在該項目上工作的小時數。可以將MySQL組結果放入特定的時間間隔嗎?

我想創造一些簡單的統計數字顯示有多少個項目,X小時存在:

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 

當然,這可以很容易地用一個簡單的SELECT語句返回所有行和for循環來做到這一點貫穿所有結果並將它們分成所需的間隔/組。

問題是:這可以單獨在MySQL中完成嗎?

+0

添加一個包含上面提到的case語句檢查條件的列..例如,當時間在0到10之間,然後是1時。同樣2,3,4,5爲11-20,21-30,31-40,41-50。然後通過使用該列進行分組 – JayaPrakash

回答

1

要通過組10小時的間隔,可以使用...

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

更改10是你需要的時間間隔。