------------
time
2
5
7
8
8
10
15
20
34
70
-------
现在需要统计time 在各范围内的个数,<=5,6-10,11-30,31-60,>60的个数
也就是希望获得如下结果:
--------
time|num
5 2
10 4
30 2
60 1
61 1
--------
time
2
5
7
8
8
10
15
20
34
70
-------
现在需要统计time 在各范围内的个数,<=5,6-10,11-30,31-60,>60的个数
也就是希望获得如下结果:
--------
time|num
5 2
10 4
30 2
60 1
61 1
--------
sum(if(time between 11 and 30,1,0)),sum(if(time between 31 and 60,1,0)),
sum(if(time>60,1,0)) from tt group by time
+------+
| time |
+------+
| 2 |
| 5 |
| 7 |
| 8 |
| 8 |
| 10 |
| 15 |
| 20 |
| 34 |
| 7 |
+------+
10 rows in set (0.00 sec)mysql> select ELT(INTERVAL(`time`-1,5,10,30,60)+1,5,10,30,60,61) as kk ,count(*)
-> from t_daguaio_O
-> group by ELT(INTERVAL(`time`-1,5,10,30,60)+1,5,10,30,60,61)
-> order by ELT(INTERVAL(`time`-1,5,10,30,60)+1,5,10,30,60,61)+0;
+------+----------+
| kk | count(*) |
+------+----------+
| 5 | 2 |
| 10 | 5 |
| 30 | 2 |
| 60 | 1 |
+------+----------+
4 rows in set (0.00 sec)mysql>
不过还是大致知道怎么处理了,谢谢
0-5 6-10....