sql 统计和分类
来源:互联网 发布:淘宝客服怎么登录 编辑:程序博客网 时间:2024/05/29 04:28
1.sql语句中多加一列不是自己表中的语法:
eg:
select sname,grade,deptid, 可用数量 = case deptid when 2 then 20 else grade end /**这个可用数量就是用户自己添加上去的与表无关的列**/
from test_groupby
2.取出某一类中的最大数据
例如: 表:dept
deptid sal name
01 2000 jack
01 300 tom
02 4000 lucy
02 5000 hual
要得到以下结果,请写出sql:
deptid sal name
01 2000 jack
02 5000 hual
sql:
select t1.* from dept t1
where sal = (select max(sal) from dept t2 where t1.name = t2.name)
上面的sql就能得出取出某一类种的最大数据了
3.进行分类小计和总计(sql实现),(实际上这里我们可以考虑在添加一列,专门用来排序)
eg:
create table [tb]([客户编码] varchar(10),[客户名称] varchar(10),[数量] int)
insert [tb]
select '001','天达',2 union all
select '001','天达',3 union all
select '001','天达',4 union all
select '002','宏达',1 union all
select '002','宏达',2
---------------上面是创建表和插入数据----------------------
-----------------下面是查询结果的sql---------------
select * from
(
select * from tb
union all
select 客户编码 = 客户编码+'小计' , 客户名称 = '小计' , sum(数量) 数量 from tb group by 客户编码
union all
select 客户编码 = '', 客户名称 = '合计' , sum(数量) 数量 from tb
) t
order by case 客户编码 when '' then 2 else 1 end , 客户编码 , case 客户名称 when '小计' then 2 else 1 end
结果为:
客户编码 客户名称 数量
001 天达 2
001 天达 3
001 天达 4
001小计 小计 9
002 宏达 1
002 宏达 2
002小计 小计 3
合计 12
加了一列来实现的方法:
eg:
select * from
(
select sortno=客户编码+'',客户编码,客户名称,数量 from tb
union all
select sortno=客户编码+'sum',客户编码 = 客户编码+'小计' , 客户名称 = '小计' , sum(数量) 数量 from tb group by 客户编码
union all
select sortno='zzzzz',客户编码 = '', 客户名称 = '合计' , sum(数量) 数量 from tb
) t
order by sortno
结果为:
001001天达2
001001天达3
001001天达4
001sum001小计小计9
002002宏达1
002002宏达2
002sum002小计小计3
zzzzz合计12
4.从外界接受一个参数param,如果param=''的话,则将全部的值都查出来,如果不为空的话,则将符合param的值的所有记录查找出来
eg:
select * from test_groupby where param='' or (param<>'' and sname=param)
上面的语句相当于三元表达式:
param == '' ? '' : sname=param
上面的方法就可以实现了
- sql 统计和分类
- 分类统计的SQL- -
- SQL 分类条件统计
- 分类统计数量sql
- 分类汇总统计的SQL语句
- 分类汇总统计的SQL语句 .
- sql servser按条件分类统计
- sql 日周月统计和
- 【统计技术】SAS中聚类和分类
- 分类统计
- SQL的本月统计和本周统计
- sql统计占比和统计数量
- SQL语句分类和差别
- 分类统计的SQL,你可能没有用过
- SQL 二维交叉报表 分类统计(行列转换)
- 按产品分类进行销售统计的sql
- sql分类汇总统计,字符串类型的区间数值
- sql分类统计,条件中没有的为0
- 经典sql查询语句50条(附答案的).doc
- 消息映射的实现
- 删除空格,并保留文本格式
- 三星平板电脑银河系列想联通通信委员会报到
- XFire根据WSDL生成客户端程序
- sql 统计和分类
- 认识反射机制
- .NET性能优化方面的总结
- 互联网产品秘籍
- shell 读取oracle数据库表记录
- 日期组件
- 揭密:网管职业教育存在的问题(2)
- 调制解调器故障分析
- 网站性能-xdebug工具的使用