Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

[access查询]Partition函数数据分组合计

时 间:2011-09-12 00:00:00
作 者:蒋元根   ID:193  城市:上海
摘 要:Partition函数数据分组合计
正 文:

Partition函数数据分组合计

网友ynfsr的问题:
http://www.accessoft.com/bbs/showtopic.asp?id=13726

简单说:有2300笔数据,自动分成20组(笔数不限),要求分为20组后,各

组的数据小计约等于≈“全部数据合计÷20”,请教各位斑竹了

昨天做了用查询做了一个例子,但速度太慢了。

今天用Partition函数做了一个例子,速度快了。

思路:
1.用Dsum()函数更新累计查询:
   Update 记录 SET 记录.累计 = DSum("数量","记录","[ID]<= " &

[ID] & "");

2.查询20组数量平均:

Select Sum(记录.数量) AS 数量之总计, Sum(记录.数量)/20 AS 20组数

量平均
FROM 记录;

3.用Partition()查询组别:

Select 记录.ID, 记录.数量, 记录.累计, Partition([累

计],0,712462,35624) AS 组
FROM 记录;

4.新建组别表:

5.追加组数据到组别表:

Insert INTO 组别1 ( 组 )
Select 查询组别.组
FROM 查询组别
GROUP BY 查询组别.组;

6.查询组别ID:
Select 组别.ID, 组别.组, 查询组别.累计, 查询组别.数量, 查询组别.ID
FROM 查询组别 INNER JOIN 组别 ON 查询组别.组 = 组别.组;

7.查询20组分组合计:
Select 查询组别ID.组别.ID, 查询组别ID.组, Sum(查询组别ID.数量) AS

数量之总计
FROM 查询组别ID
GROUP BY 查询组别ID.组别.ID, 查询组别ID.组;
点击下载此附件



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助