0

我有这张桌子

表A

标识值
1 125  
2 400  
3 99  
4 130  
5 300  
6 350  
7 399  
..  
..

我希望下表作为输出,其中预先定义了范围偏移(100)。范围值 100= TableA 值在 0-100 之间,200 表示 101-200

结果表

范围计数  
100 1  
200 2  
300 1  
400 3  
..    
..  

任何想法建议的最佳方法是什么。

4

1 回答 1

1

取决于您使用的 RDMS,语法会有所不同(示例用于 Oracle),但总体思路是

CREATE TABLE new_table AS 
SELECT CAST(value/100 as INT)*100 as range, count(*) as cnt
GROUP BY CAST(value/100 as INT)*100
FROM old_table;
于 2013-10-10T16:25:06.503 回答