Excel精英培训网

 找回密码
 注册
查看: 7194|回复: 12

数据透视表中级班练习五

[复制链接]
发表于 2014-5-19 13:58 | 显示全部楼层 |阅读模式
本帖最后由 JLxiangwei 于 2014-7-7 20:51 编辑

大家顶住,题目又来了
SQL练习之按照号码段统计个数.rar (9.72 KB, 下载次数: 109)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-5-19 14:24 | 显示全部楼层
本帖最后由 云影 于 2014-5-23 15:04 编辑
  1. SELECT 分类,min(号码) &"-"&max(号码) as 号段, COUNT(*) AS 号码个数 FROM [Data$] group by 分类,号码-dcount("号码","[Data$]","分类='" & 分类 &"' and 号码 < " & 号码 )
复制代码
回复

使用道具 举报

发表于 2014-5-19 15:41 | 显示全部楼层
本帖最后由 天空的雨 于 2014-5-20 14:31 编辑

SQL练习之号码段-天空的雨答.rar (13.89 KB, 下载次数: 7)
回复

使用道具 举报

发表于 2014-5-19 15:48 | 显示全部楼层
本帖最后由 xdragon 于 2014-5-20 15:26 编辑
  1. select 分类,min(号码)&'-'&max(号码) as 号段,count(号码) as 号码个数 from (select t.分类,t.号码,(select count(*) from [Data$] where 号码<=t.号码) as cc from [Data$] t order by t.分类,t.号码) group by 分类,号码-cc
复制代码
有点混乱,不过凑出来了。。。
回复

使用道具 举报

发表于 2014-5-21 17:23 | 显示全部楼层
  1. SELECT 分类,MIN(号码)&"-"& MAX(号码) AS 号段,COUNT(号码) AS 号码个数
  2. FROM [Data$]
  3. GROUP BY 分类,PARTITION(号码,1,2000,5)
复制代码
回复

使用道具 举报

发表于 2014-5-21 20:23 | 显示全部楼层
SELECT 分类,"1001-1005" as 号段,count(号码) as 号码个数 from [data$a:b] where 号码 between 1001 and 1005 group by 分类 UNION ALL SELECT 分类,"1007-1009" as 号段,count(号码) as 号码个数 from [data$a:b] where 号码 between 1007 and 1009 group by 分类 union all SELECT 分类,"1011-1013" as 号段,count(号码) as 号码个数 from [data$a:b] where 号码 between 1011 and 1013 group by 分类 union all SELECT 分类,"1023-1024" as 号段,count(号码) as 号码个数 from [data$a:b] where 号码 between 1023 and 1024 group by 分类
回复

使用道具 举报

发表于 2014-5-22 07:35 | 显示全部楼层
本帖最后由 箫风 于 2014-5-22 11:18 编辑

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表于 2014-5-22 21:06 | 显示全部楼层
先上一个,有空再改
  1. select 分类,min(号码) & "-" & max(号码) as 号段,count(*) as 号码个数 from (select a.*,a.号码-a.排名 as 差值 from (select 分类,号码,dcount("号码","data$a1:b14","号码<="&号码) as 排名 from [data$a1:b14]a order by 3 asc)a) group by 分类,差值
复制代码
回复

使用道具 举报

发表于 2014-5-27 11:09 | 显示全部楼层
本帖最后由 zx_wl 于 2014-7-10 16:01 编辑
  1. SELECT 分类,MIN(号码)&"-"&MAX(号码) AS 号段,COUNT(*) AS 号码个数 FROM(select 分类,号码,号码-(SELECT COUNT(*) FROM [DATA$] T2 WHERE T2.号码<T1.号码) AS 分组 FROM [DATA$] T1) GROUP BY 分类,分组
复制代码
回复

使用道具 举报

发表于 2014-7-6 12:25 | 显示全部楼层
我的神啊,这语句也太啰里吧嗦咯,做出来不容易啊
  1. Select 分类,"1001-1005"as 号段, count(分类) as 号码个数 from [Data$] where 号码 between 1001 and 1005 group by 分类 union (Select 分类,"1007-1009"as 号段, count(分类) as 号码个数 from [Data$] where 号码 between 1007 and 1009 group by 分类) union (Select 分类,"1011-1013"as 号段, count(分类) as 号码个数 from [Data$] where 号码 between 1011 and 1013 group by 分类) union (Select 分类,"1023-1024"as 号段, count(分类) as 号码个数 from [Data$] where 号码 between 1023 and 1024 group by 分类)
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 08:16 , Processed in 0.332793 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表