求一SQL统计语句(在线等)
表 a
字段 b c d
张三 5 2007-5-5
李四 15 2007-5-5
王五 20 2007-5-5
张三 15 2007-5-6
王五 5 2007-5-6
现在想统计这个表中
2007-5-5 到 2007-5-6 号之间,张三、李四、王五的 c 数据
结果如下
字段 b c
王五 25
张三 20
李四 15
并且按照 c 字段倒序排列
希望大家多指教谢谢:)
------解决方案--------------------select b,sum(c) as c from d between '2007-5-5 ' and '2007-5-6 ' group by b order by c
试试
------解决方案--------------------select b,sum(c) as c from a where d between '2007-5-5 ' and '2007-5-6 ' group by b order by sum(c) desc
------解决方案--------------------select b, sum(c) as c from a group by b order by c desc
------解决方案--------------------/*
Try:
表 a
字段 b c d
张三 5 2007-5-5
李四 15 2007-5-5
王五 20 2007-5-5
张三 15 2007-5-6
王五 5 2007-5-6
现在想统计这个表中
2007-5-5 到 2007-5-6 号之间,张三、李四、王五的 c 数据
结果如下
字段 b c
王五 25
张三 20
李四 15
并且按照 c 字段倒序排列
希望大家多指教谢谢:)
*/
Declare @a table(b varchar(25),c int,d datetime)
insert into @a(b,c,d) values ( '张三 ',5, '2007-5-5 ')
insert into @a(b,c,d) values ( '李四 ',15, '2007-5-5 ')
insert into @a(b,c,d) values ( '王五 ',20, '2007-5-5 ')
insert into @a(b,c,d) values ( '张三 ',15, '2007-5-6 ')
insert into @a(b,c,d) values ( '王五 ',5, '2007-5-6 ')
Select b,Sum(c) c from @a
where datediff(day,d, '2007-5-5 ') <=0 and datediff(day, '2007-5-6 ',d) <=0
group by b
order by c Desc
--如果时间不是规则的200-5-5格式,使用datediff运算会更好一些。