汇总和分组数据
来源:互联网 发布:那个股票软件数据精确 编辑:程序博客网 时间:2024/04/29 02:50
1.聚合函数
sum() 求和 avg() 求平均值 min() 返回最小值 max() 返回最大值 count() 返回记录行数
例:
select count(*) as '操作员个数' from j_user ----// 返回共有多少个操作员
注意:
count(*) 统计所有记录行的数目
count(字段名)只统计指定列上有非空值的记录条数
例句: 要求查询自营店06年至07年两年共销售了多少数量与金额?
select sum(a.nums) as '数量',sum(a.s_price*nums) as '金额'
from d_retailsub a join d_retail b on a.retailid=b.retailid
where sure_date between '2006-01-01' and '2007-12-31' and b.sure=1
返回:
数量 金额
-------------------------------------
53849 29621042.94
2.分组汇总
例句: 要求查询自营店06年中每个月的销售、每个月的各个小类也需要汇总
select datepart(mm,sure_date) as '销售月份',j_style.st_xz as '小类', --//datepart(mm,sure_date) 从日期中提取月份出来
sum(d_retailsub.s_price*nums) as '金额' from d_retail join d_retailsub --//聚合函数sum(d_retailsub.s_price*nums)计算出金额
on d_retail.retailid=d_retailsub.retailid join j_style on d_retailsub.styleid=j_style.styleid --//左联接
where sure_date between '2006-01-01' and '2006-12-31' and d_retail.sure=1 --// between 指定截止时间
group by datepart(mm,sure_date),j_style.st_xz --//分组汇总时可以指定多个汇总条件
order by datepart(mm,sure_date),j_style.st_xz --//排序时也可以指定多个排序条件
返回:
销售月份 小类 金额
---------------------------------------------------------
8 衬衫 46084.70
8 领带 819.00
8 牛仔裤 29378.05
8 皮包 7306.80
8 皮带 16922.35
……
9 长袖衬衫 5457.50
9 衬衫 95265.55
9 毛衫 8099.25
9 牛仔裤 64497.35
9 牛仔衫 3722.40
9 皮包 8967.00
……
10 长袖衬衫 65581.80
10 衬衫 156121.15
10 毛衫 120830.65
10 牛仔裤 231993.75
10 牛仔衫 2682.90
10 皮包 17133.95
……
3. select 语句执行的顺序
from 子句组装来自不同的数据源的数据;
where 子句基于指定的条件对记录进行筛选;
group by 子句将数据分为多个组;
使用聚集函数进行分组;
使用 having 子句筛选分组;
计算所有的表达式;
使用 order by 对结果进行排序;
例句:使用 having 子句对分组进行筛选
要求查询自营店2006年10月份每天销售大于50000元的记录
select datepart(dd,sure_date) as '销售日期',sum(d_retailsub.s_price*nums) as '金额' --//datepart(mm,sure_date) 从日期中提取日出来
from d_retail join d_retailsub on d_retail.retailid=d_retailsub.retailid --//左联接
where sure_date between '2006-10-01' and '2006-10-31' and d_retail.sure=1 --// between 指定截止时间
group by datepart(dd,sure_date) --//分组汇总时可以指定多个汇总条件
having sum(d_retailsub.s_price*nums)>50000 --//having 对分组后的金额进行筛选
order by datepart(dd,sure_date) --//排序
返回:
销售日期 金额
----------------------------------------------------------------
8 58621.60
9 105024.55
11 72197.25
12 212132.00
13 61351.70
16 292789.75
17 76108.20
23 z107167.15
26 119742.70
27 76721.70
28 76259.40
29 80773.21
30 60864.75
- 汇总和分组数据
- 第6章 汇总和分组数据
- My SQL 汇总和分组数据
- Mysql高级查询-----汇总和分组数据
- Day 5 (11.8):(3)数据分组和汇总
- 创建计算字段 汇总数据 分组数据
- (七):分组查询、数据汇总示例
- pandas 数据分组和聚合
- SQL Server汇总数据之聚合函数与分组
- 第7天-sql汇总与分组数据
- 如何快速的制作多层分组-数据汇总
- Python由词频统计改编的数据分组汇总
- 报表查询sql,分组后汇总数量和计算总额
- hive增强的聚集,魔方,分组和汇总
- 6 综合数据和分组函数
- SQL基础--数据分组和haveing语句
- 运维 2.0 时代:数据聚合和分组
- SQL学习 数据排序和分组
- C#方法中使用ref和out参数
- Spring整理10 -- 动态代理
- 汽车名词解释-发动机参数
- Spring整理11 -- 面对切面(AOP)1 -- 注解配置的方式实现AOP
- 请教大家谁知道游戏调研员的注意事项??
- 汇总和分组数据
- 图灵2010.01书讯——看你错过了哪一本
- 2009悄皮话
- 【转】Oracle中的硬解析与软解析
- 内蒙古
- qt-x11-opensource-src-4.5.3 安装 出现Basic XLib functionality test failed!解决方法
- jsp 获得转入当前页的url地址
- 汽车名词解释-发动机参数(2)
- 【转】Oracle SQL的硬解析和软解析