SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用
来源:互联网 发布:邮箱大师 mac 编辑:程序博客网 时间:2024/05/19 17:07
使用工具:
FineReport报表设计器,Access数据库
需求描述:
有两张表,订单表和订单明细表
1、订单表结构:
2、订单明细表结构:
目的:根据这两张表做出下面的一张表
分析:
1、因为在订单明细里订单ID可能出现多次,所以一定要先把订单ID去重,否则两张表join的时候,订单ID就会有重复的,这时用count函数求订单数量时就会出错了
所以先将订单明细表按订单ID进行分组:
(select 订单ID,sum(数量*单价*(1-折扣)) as 订单销量 from 订单明细 group by 订单ID)然后再两张表join:
select 单子.订单ID,订购年份,订购月份,订单销量,是否已付 from(SELECT 订单ID,year("订购日期") as 订购年份,month("订购日期") as 订购月份,是否已付 from 订单) as 单子,(select 订单ID,sum(数量*单价*(1-折扣)) as 订单销量 from 订单明细 group by 订单ID) as 详情 where 单子.订单ID=详情.订单ID2、接下来就是需要对以上求出的这张”总表“进行按年份和月份分组,count(订单ID)求订单数量,sum聚合函数进行带有条件的求和来求已付订单数量等。
解答:
select 订购年份,订购月份,count(订单ID) as 订单数量,sum(订单销量*iif(是否已付=1,1,0)) as 已付订单数量,sum(订单销量) as 销量 from(select 单子.订单ID,订购年份,订购月份,订单销量,是否已付 from(SELECT 订单ID,year("订购日期") as 订购年份,month("订购日期") as 订购月份,是否已付 from 订单) as 单子,(select 订单ID,sum(数量*单价*(1-折扣)) as 订单销量 from 订单明细 group by 订单ID) as 详情 where 单子.订单ID=详情.订单ID) where 订购年份 =${year}group by 订购年份,订购月份
部分解释:
1、year,month是帆软设计器自带函数,例如,year函数作用是将2014-5-3取得年份2014
2、iif(是否已付=1,1,0)是Access数据库条件判断,作用是,如果是否已付=1,则返回1,否则返回0
3、${year}是传过来的参数
0 0
- SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用
- group by ,having, 聚合函数的使用
- IIF函数的使用
- 聚合函数(sum、count、max、min、avg)、where、group by、having的组合用法实例
- arcigs js api 查询,使用group by 和sum 等聚合函数的使用
- mysql中group by子句和聚合函数MAX(),MIN(),SUM(),AVG()等的使用
- Oracle-24-聚合函数&group by的使用
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中having count 和group by的使用
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql语句中GROUP BY 和 HAVING的使用 count()
- sql,group by的使用
- SQL Group by的使用
- android viewpager
- Problem 10:Summation of primes
- hadoop2.2安装配置日志(完全分布式)
- FOS中断管理
- Java设计模式
- SQL编程实例:Access数据库,两张表的统计,count、sum聚合函数的使用,iif的使用,group by的使用
- Codeforces Round #244 (Div. 2)
- jquery改变元素属性值
- c++ 分解字符串
- uva ``Accordian'' Patience
- git下载源码时只有.git\objects\pack目录下的.pa
- 算法竞赛入门经典 5.4.4多少块土地
- zookeeper分布安装笔记
- Yii 日志与调试 debugtoolbar