2012-07-04 55 views
0

我需要從數據庫中選擇數據,這些數據將根據規模進行彙總。當我有下面的數據,那麼我想從在COL1一至三個範圍中的col2列彙總數據,從四到六等mysql按照規模混合

col1 | col2 
-----+---- 
1 | 34 
2 | 43 
3 | 75 
4 | 23 
5 | 62 
6 | 33 
... | ... 

結果會是這樣:

| SUM(col2) 
+---- 
    152  - for values from 1 to 3 
    118  - for values from 4 to 6 
    ...  ... 

我不知道如何編寫一個SQL選擇,它可以返回這個數據。 感謝您的回答,併爲我的英語感到抱歉。

回答

3
CREATE TABLE t (col1 integer, col2 integer); 
INSERT INTO t VALUES (1,34),(2,43),(3,75),(4,23),(5,62),(6,33); 

SELECT ceil(col1/3) AS grp, min(col1) AS col1_from, 
     max(col1) AS col1_till, sum(col2) 
    FROM t 
GROUP BY ceil(col1/3); 

也在SQL Fiddle

+0

@ user1502291,你的問題回答了嗎? – vyegorov