SQL按區間進行group by

2021-06-01 01:26:54 字數 745 閱讀 1917

sql在通常情況下只能按字段值進行分類彙總。

現在有現在這張表:

create table data(

id int unsigned not null,

version varchar(12),

starttime int unsigned,

opt_id int not null,

opt_value int not null

)engine = myisam;

要求按速率區間進行分類彙總:

其中當opt_id為0x00000015時,opt_value儲存的速度。

下面的sql是按 0-100, 100-500, 500-1000, > 1000進行彙總的查詢:

select elt(interval(d.opt_value,0, 100, 500, 1000), '小於100k', '100-500k', '500-1000k', '大於1000k') as 速率, count(d.opt_value) as cnt from data d 

where d.opt_id = 0x00000015 group by elt(interval(d.opt_value, 0, 100, 500, 1000), '小於100k', '100-500k', '500-1000k', '大於1000k')

(以上**只使用於mysql, 其它資料庫是否可用,要看是否有替代函式)

datatable使用groupby進行分組統計

今天有同事問,如何在datatable中進行分組,並且計算分組後每組的數量,想了一下,可以使用linq來實現datatable分組。如下 效果區域 庫房 數量 北京 北京倉庫 1 北京 上海倉庫 1 上海 上海倉庫 2 datatable dt new datatable cart datacolu...

datatable使用groupby進行分組統計

如何在datatable中進行分組,並且計算分組後每組的數量,想了一下,可以使用linq來實現datatable分組。如下 效果區域 庫房 數量 北京 北京倉庫 1 北京 上海倉庫 1 上海 上海倉庫 2 datatable dt new datatable cart datacolumn dc1 ...

sql分組資料GROUP BY

分組是使用select語句的group by子句建立的。理解分組最好的辦法就是看乙個例子 輸入 select vend id count as num prods from products group by vend id 輸出 vend id num prods brs01 3 dll01 4 ...