mysql group by 范围_如何在MySQL中实现GROUP BY范围?

本文通过创建和填充`GroupByRangeDemo`表,演示了如何在MySQL中按数值范围进行GROUP BY操作。首先,我们创建了一个包含`Id`和`YourRangeValue`字段的表,并插入了几条数据。然后,使用SELECT语句展示了如何通过ROUND函数将`YourRangeValue`除以10来创建不同的范围,并计算每个范围内记录的数量。最后,特别处理了大于等于40的值,展示了一种处理大范围的方法。
摘要由CSDN通过智能技术生成

为了在MySQL中按范围分组,让我们首先创建一个表。创建表的查询如下mysql> create table GroupByRangeDemo

- > (

- > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,

- > YourRangeValue int

- > );

现在,您可以使用insert命令在表中插入一些记录。

查询如下mysql> insert into GroupByRangeDemo(YourRangeValue) values(1);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(7);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(9);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(23);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(33);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(35);

mysql> insert into GroupByRangeDemo(YourRangeValue) values(1017);

使用select语句显示表中的所有记录。

查询如下mysql> select *from GroupByRangeDemo;

以下是输出+----+----------------+

| Id | YourRangeValue |

+----+----------------+

|  1 |              1 |

|  2 |              7 |

|  3 |              9 |

|  4 |             23 |

|  5 |             33 |

|  6 |             35 |

|  7 |           1017 |

+----+----------------+

7 rows in set (0.04 sec)

这是按范围分组的查询mysql> select round(YourRangeValue / 10), count(YourRangeValue) from GroupByRangeDemo where YourRangeValue 

- > union

- > select '40+', count(YourRangeValue) from GroupByRangeDemo where YourRangeValue >= 40;

以下是输出+----------------------------+-----------------------+

| round(YourRangeValue / 10) | count(YourRangeValue) |

+----------------------------+-----------------------+

| 0                          |                     1 |

| 1                          |                     2 |

| 2                          |                     1 |

| 3                          |                     1 |

| 4                          |                     1 |

| 40+                        |                     1 |

+----------------------------+-----------------------+

6 rows in set (0.08 sec)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值