表1员工姓名 销售金额 销售时间
员工A 10 2011-8-30 00:56:01
员工C 15 2011-9-1 11:56:01
员工D 20 2011-9-2 23:56:01
员工B 10 2011-9-3 11:56:01
员工C 30 2011-9-4 08:56:01
员工D 10 2011-9-6 05:56:01怎么得出9月份内每个员工销售总额,并对每个员工的销售总额排序!mssqlSELECT *
FROM 表1
WHERE (销售时间 BETWEEN '2011 - 7 - 1 00 : 00 : 00' AND '2011 - 7 - 1 23 : 59 : 59')
ORDER BY 销售金额 DESC 这个语句只能对每笔记录的"销售金额"排序,并不能按每个员工的月销售总额排序!
员工A 10 2011-8-30 00:56:01
员工C 15 2011-9-1 11:56:01
员工D 20 2011-9-2 23:56:01
员工B 10 2011-9-3 11:56:01
员工C 30 2011-9-4 08:56:01
员工D 10 2011-9-6 05:56:01怎么得出9月份内每个员工销售总额,并对每个员工的销售总额排序!mssqlSELECT *
FROM 表1
WHERE (销售时间 BETWEEN '2011 - 7 - 1 00 : 00 : 00' AND '2011 - 7 - 1 23 : 59 : 59')
ORDER BY 销售金额 DESC 这个语句只能对每笔记录的"销售金额"排序,并不能按每个员工的月销售总额排序!
解决方案 »
- Oracle新手问个问题
- 求助:window2008x64 oracle 11G 通过dblink 访问 hpux oracle 10G 速度极慢
- 一直开着DB连接和频繁的开关DB,那个更耗费资源?
- 怎样用一条语句判断用户名错误还是密码错误?
- 求一个关于时间的查询
- 请推荐一本好的Oracle教材
- 那里有oracle9i下载啊?
- 无法为实体化视图设置 ON COMMIT 刷新属性???
- 数据库运行一段时间就会出现比较奇怪的现象?
- 动态sql中是否可以调用自定义的function???急急急,在线等待!!!
- 哪位大侠 帮忙看看这个存储过程 oracle 以前没用过 今天刚弄的 都是错误
- vs2010不能连接oracle 11g
select 员工姓名 , sum(销售金额) 销售总额 from tb where datepart(mm,销售时间) = 9 group by 员工姓名 order by 销售总额 desc--应该是算2011-09
select 员工姓名 , sum(销售金额) 销售总额 from tb where convert(varchar(7),销售时间,120) = '2011-09' group by 员工姓名 order by 销售总额 desc
insert into tb values('员工A', 10 ,'2011-8-30 00:56:01')
insert into tb values('员工C', 15 ,'2011-9-1 11:56:01')
insert into tb values('员工D', 20 ,'2011-9-2 23:56:01')
insert into tb values('员工B', 10 ,'2011-9-3 11:56:01')
insert into tb values('员工C', 30 ,'2011-9-4 08:56:01')
insert into tb values('员工D', 10 ,'2011-9-6 05:56:01')
go--只算九月份的。
select 员工姓名 , sum(销售金额) 销售总额 from tb where datepart(mm,销售时间) = 9 group by 员工姓名 order by 销售总额 desc
/*
员工姓名 销售总额
---------- -----------
员工C 45
员工D 30
员工B 10(所影响的行数为 3 行)
*/--应该是算2011-09
select 员工姓名 , sum(销售金额) 销售总额 from tb where convert(varchar(7),销售时间,120) = '2011-09' group by 员工姓名 order by 销售总额 desc
/*员工姓名 销售总额
---------- -----------
员工C 45
员工D 30
员工B 10(所影响的行数为 3 行)
*/drop table tb