分组查询实例讲解group by用法
2013-11-14 20:50
351 查看
已知:需要查询 采购员,采购时间,合同编号,合同金额 这四个字段,其中前三个字段能从一张表里查出来,合同金额是另一张表的多条订单的和,
求:用一条SQL查出四个字段
解:订单表:
select * from view_order
前三个字段查询:
select t.ORDER_BUYERNAME ,t.ORDER_BUYDATE ,t.ORDER_CODE from view_order t order by t.ORDER_BUYDATE desc--订单信息表:采购员、采购时间、合同编号
订单明细表:
select * from view_orderdetail
第四个字段查询:
select sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t where v.OD_ORDERCODE =t.ORDER_CODE and t.ORDER_CODE ='4500498951'----合同金额 --1.17是含税
用Group by ,一条SQL写出:
select t.ORDER_BUYERNAME ,t.ORDER_BUYDATE ,t.ORDER_CODE,tt.sum_TOTALPRICE from view_order t , (select t.ORDER_CODE ORDER_CODE , sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t
where v.OD_ORDERCODE =t.ORDER_CODE
group by t.ORDER_CODE) tt
where t.ORDER_CODE=tt.ORDER_CODE
分析:
select t.ORDER_CODE ORDER_CODE , sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t where v.OD_ORDERCODE =t.ORDER_CODE group by t.ORDER_CODE) tt
查出来的是ORDER_CODE 和 sum_TOTALPRICE这两个字段,这两个字段当成一个整体,和view_order 进行关系比较查询,通过 t.ORDER_CODE=tt.ORDER_CODE查到要求的四个字段
求:用一条SQL查出四个字段
解:订单表:
select * from view_order
前三个字段查询:
select t.ORDER_BUYERNAME ,t.ORDER_BUYDATE ,t.ORDER_CODE from view_order t order by t.ORDER_BUYDATE desc--订单信息表:采购员、采购时间、合同编号
订单明细表:
select * from view_orderdetail
第四个字段查询:
select sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t where v.OD_ORDERCODE =t.ORDER_CODE and t.ORDER_CODE ='4500498951'----合同金额 --1.17是含税
用Group by ,一条SQL写出:
select t.ORDER_BUYERNAME ,t.ORDER_BUYDATE ,t.ORDER_CODE,tt.sum_TOTALPRICE from view_order t , (select t.ORDER_CODE ORDER_CODE , sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t
where v.OD_ORDERCODE =t.ORDER_CODE
group by t.ORDER_CODE) tt
where t.ORDER_CODE=tt.ORDER_CODE
分析:
select t.ORDER_CODE ORDER_CODE , sum(v.OD_TOTALPRICE)*1.17 sum_TOTALPRICE from view_orderdetail v ,view_order t where v.OD_ORDERCODE =t.ORDER_CODE group by t.ORDER_CODE) tt
查出来的是ORDER_CODE 和 sum_TOTALPRICE这两个字段,这两个字段当成一个整体,和view_order 进行关系比较查询,通过 t.ORDER_CODE=tt.ORDER_CODE查到要求的四个字段
相关文章推荐
- mysql数据库分组(GROUP BY)查询实例
- MySQL中distinct与group by语句的一些比较及用法讲解
- 实例讲解CSS3中Transform的perspective属性的用法
- MySQL对数据表进行分组查询(GROUP BY)
- 21、MySQL-分组查询(GROUP BY)及二次筛选(HAVING)
- mysql分组查询(group by)
- Mysql中DATE_SUB 使用方法结合查询一天内,一周内,一月内的信息实例讲解
- ORACLE-SQL积累(查询外检约束、记录长度、字段长度、启用禁用触发器、case用法、分组连接函数、查询被锁表)
- MySQL分页查询实例讲解
- 以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
- group by分组、having() 筛选组的用法
- GROUP BY分组查询与SQL执行顺序
- Oracle分组查询5——实例
- sql 分组查询实例
- MySQL分组查询Group By实现原理详解
- 重点看 一个实例讲解MySQL查询优化
- Excel 中使用SQL 语句查询数据(八)-----用Group by 进行分组统计
- 实例讲解Python编程中@property装饰器的用法