这篇文章将为大家详细讲解有关MySQL中怎么实现Excel分组排序功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。


1、现在有一份数据表tmp_provice_sales,如下:表格记录的是某商品省份城市销售数量,现在需要提取每省份销售TOP1的城市数据。

2、然后在查询框中输入以下代码:

3、点击运行,即可获取每个省份销售TOP1数据,运行结果如下图所示:

需要注意的点是:

需对原始数据源销售额进行降序排序,order by provice ,sales desc,将相同省份数据排列到一起,且按销售数量由大到小排列;

再利用if函数对数据添加序列号;

提取各分组中排名为1的数据,即为需求数据;

如果要获取top3数据,只需修改最后一句,having ranks <4 即可。

原始代码展示如下:

selecta.*,if(@v_provice=provice,@v_rank:=@v_rank+1,@v_rank:=1)asranks,@v_provice:=proviceasprovice2from(select*fromtmp_provice_salesorderbyprovice,salesdesc)a,(select@v_provice:=null,@v_rank:=0)bhavingranks=1;

关于MySQL中怎么实现Excel分组排序功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。