Excel 2010 SQL应用117 分组统计之GROUP BY 与First 您所在的位置:网站首页 excel分组聚合 Excel 2010 SQL应用117 分组统计之GROUP BY 与First

Excel 2010 SQL应用117 分组统计之GROUP BY 与First

2023-02-22 23:25| 来源: 网络整理| 查看: 265

目录

数据源

解决方案

GROUP BY+FIRST函数+LAST函数的使用

数据源 单位编号拨款月享受月份姓名性别个人编码医保卡号退款总额基本补充补助异地城市TCC1001201004201001林子男042510110010322062.7362.7300广州TCC1001201004201002林子男042510110010322062.7362.7300广州TCC1001201004201003林子男042510110010322062.7362.7300广州TCC1001201004201004林子男042510110010322062.7362.7300广州TCC1001201005201005苏枚女051209785024782662.7362.7300北京TCC1001201007201005黄秀女061210360020543762.7362.7300深圳TCC1001201007201006黄秀女061210360020543762.7362.7300深圳TCC1001201007201007黄秀女061210360020543762.7362.7300深圳TCC1001201008201008蔡科男061008090027872262.7362.7300东莞TCC1001201008201006钟娟女051103560034791962.7362.7300佛山TCC1001201008201007钟娟女051103560034791962.7362.7300佛山TCC1001201008201008钟娟女051103560034791962.7362.7300佛山

    如图所示为某人力资源公司人力资源数据整理表。例如,要将“林子”这个员工的多行“享受月份”不同值转换为两列:第一个‘‘享受月份”为“享受起始月”列;最后一个“享受月份”为“享受终止月”列,即原来4行林子的拨款月份为“201004”的数据整理成1行,退款总额为4行数据的汇总,享受起始月为“201001”,享受终止月为“201004¨。苏枚因享受月份只有201005这个月,所以其享受起始月及享受终止月均为“201005”o整合排序要按个人蝙码,因为只有个人蝙码是唯一且不变的。

解决方案 SELECT 单位编号, 拨款月, FIRST(享受月份) AS 享受超始月, LAST(享受月份) AS 享受终止月, 姓名, 性别, 个人编码, 医保卡号, SUM(退款总额) AS 退款总额, SUM(基本) AS 基本, SUM(补充) AS 补充, SUM(补助) AS 补助, 异地城市 FROM [sheet1$] GROUP BY 单位编号,拨款月,姓名,性别,个人编码,医保卡号,异地城市 GROUP BY+FIRST函数+LAST函数的使用

    本例的关键是FIRST函数及LAST函数结合GROUP BY子句的使用。因单位编号、拨款月、姓名、性别、个人编码、医保卡号、异地城市等文本类型的信息是明确对应到每个人的,并且不会变化,在医保信息源数据表中,存在的难点是享受月份字段各行都是不同的,通过FIRST函数及LAST函数可以分别提取享受月份字段的第一个记录及最后一个记录作为新的列字段。而退款总额、基本、补充、补助等字段是数值类型,可以通过聚合函数进行汇总。最后使用GROUP BY子句进行分组,提取出不重复的分组记录。  

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有