关于Excel与SQL结合的优势所在-查找最大一名数据
2013-05-06 19:13
274 查看
查找每组中的前几名数据
这是个筛选与排名结合的问题,但似乎已成为Excel 中经常讨论的话题,下面我们来看几种解决方案并比较他们的不同。
1、查找每组中的第一名数据
这个问题有多种答案,可以通过函数,透视表解决,也可以通过SQL解决。我们用一张订单表为例,这张表中包括货主地区,货主城市,货主名称和运货费四个字段,企业想在该数据表中按货主地区提取每组中的最大运货费
函数:先对数据按货主地区排序,再按运货费排序,创建一个排名列,作用显示每个地区的每条记录的名次,函数:countif($a$1:a1,a1),最后筛选每组中的第一名,缺点是如果想查每组中最小的一条记录就不太容易
透视表:在2007以上的版本中透视表包含筛选:值最大的10项功能,我们可以利用这个来查找每组中最大一名记录,也可以查找每组中最小一名记录,功能仅限于此,如果想在所有地区查看前3名数据,并且只有该地区大于3条订单记录的数据才可以显示,透视表自身就无能为力了
用Excel的ODBC数据源引用SQL语句:
select 货主地区,货主城市,货主名称,运货费 from [Sheet1$]
where 运货费 in (
select max(运货费) from [Sheet1$]
group by 货主地区
)这种语句结构可以适合很多场合
继续。。。
本文出自 “做自己的office” 博客,转载请与作者联系!
这是个筛选与排名结合的问题,但似乎已成为Excel 中经常讨论的话题,下面我们来看几种解决方案并比较他们的不同。
1、查找每组中的第一名数据
这个问题有多种答案,可以通过函数,透视表解决,也可以通过SQL解决。我们用一张订单表为例,这张表中包括货主地区,货主城市,货主名称和运货费四个字段,企业想在该数据表中按货主地区提取每组中的最大运货费
函数:先对数据按货主地区排序,再按运货费排序,创建一个排名列,作用显示每个地区的每条记录的名次,函数:countif($a$1:a1,a1),最后筛选每组中的第一名,缺点是如果想查每组中最小的一条记录就不太容易
透视表:在2007以上的版本中透视表包含筛选:值最大的10项功能,我们可以利用这个来查找每组中最大一名记录,也可以查找每组中最小一名记录,功能仅限于此,如果想在所有地区查看前3名数据,并且只有该地区大于3条订单记录的数据才可以显示,透视表自身就无能为力了
用Excel的ODBC数据源引用SQL语句:
select 货主地区,货主城市,货主名称,运货费 from [Sheet1$]
where 运货费 in (
select max(运货费) from [Sheet1$]
group by 货主地区
)这种语句结构可以适合很多场合
继续。。。
本文出自 “做自己的office” 博客,转载请与作者联系!
相关文章推荐
- 关于Excel与SQL结合的优势所在
- 关于EXCEL if、countif 在查找数据的用法
- 关于sql数据表中查找重复记录的技巧
- C# 在excel中查找及替换数据
- 如何用SQL语句查询Excel数据?
- sql语句读取excel数据
- 关于SQL分组取最大值的几中方式
- SparkSQL结合SparkStreaming,使用SQL完成实时计算中的数据统计
- 经典SQL语句大全(实例)非常不错的和excel等文档实例结合的sql
- golang实现读取当前所在文件夹里面的txt数据,去除空格,以列的形式保存在excel中
- 关于SQL中索引提高查找性能实验
- Excel数据拼接sql
- sql查找不重复数据 去重
- Struts结合数据实时生成Excel文件并直接下载
- 一是关于怎样找出和去除重复数据,这在另一个帖子利已有详细介绍。二是关于找出某一列里最大或最小的前几个,或是大于或小于某一个值(最大值或平均值)的数据
- 导入Excel的数据到SQL
- 通过SQL*PLUS将数据导出excel或者html格式
- 算法导论第十二章关于搜索二叉树的建立,查询,查找最大最小元素值,查找给定结点的直接后继
- 关于sqlserver筛选重复数据的sql语句
- python数据挖掘课程 十一.Pandas、Matplotlib结合SQL语句可视化分析