求叫一个sql该怎么写比较好!

wmbr0830 2013-06-18 09:57:59
有一张表
num date money
A 2013-05-27 100
A 2013-05-24 1200
A 2013-05-22 100
A 2013-05-20 100
A 2013-05-19 300
A 2013-05-16 400
A 2013-05-12 200
A 2013-05-09 100
A 2013-05-06 500
A 2013-05-01 150


我现在想求5天一个间隔,当中金额最大的那5天的sum(金额)
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_Nice 2013-06-18
  • 打赏
  • 举报
回复
if object_id('[TB]') is not null drop table [TB]
go
create table [TB] (num nvarchar(2),date datetime,money int)
insert into [TB]
select 'A','2013-05-27',100 union all
select 'A','2013-05-24',200 union all
select 'A','2013-05-22',100 union all
select 'A','2013-05-20',1200 union all
select 'A','2013-05-19',300 union all
select 'A','2013-05-16',400 union all
select 'A','2013-05-12',200 union all
select 'A','2013-05-09',100 union all
select 'A','2013-05-06',500 union all
select 'A','2013-05-01',150

select * from [TB]


;WITH TT
AS(
SELECT DATEADD(dd,number,'2013-05-01') AS dd
FROM master..spt_values M
WHERE type ='P'),

T1 AS(
SELECT TT.dd,TB.date,TB.money
FROM TT
LEFT JOIN TB ON TT.dd = TB.date),

T2 AS(
SELECT  TOP 100 PERCENT dd,date,money,convert(int,ROW_NUMBER() OVER(ORDER BY GETDATE())/6) AS nu
FROM    T1
WHERE   NOT EXISTS ( SELECT 1
                     FROM   T1 A
                     WHERE  NOT EXISTS ( SELECT 1
                                         FROM   T1 B
                                         WHERE  A.dd <= b.date )
                            AND T1.dd = a.dd )
ORDER BY dd DESC)

SELECT TOP 1 SUM(money)
FROM T2
GROUP BY nu
ORDER BY SUM(money) DESC

--1600
wmbr0830 2013-06-18
  • 打赏
  • 举报
回复
引用 3 楼 unique_le 的回复:
得有额起始时间把。 不然从那一天开始 算5天一间隔。
这个看不明白么,每隔5天,就是2013-05-27 到2013-05-23 之间的金额合计 ,2013-05-22 到2013-05-18 之间的金额合计 以此类推找出当中金额合计最大的那个 金额之和 不管你从哪天开始都可以啊,5天一间隔
wmbr0830 2013-06-18
  • 打赏
  • 举报
回复
这个看不明白么,每隔5天,就是2013-05-27 到2013-05-23 之间的金额合计 ,2013-05-22 到2013-05-18 之间的金额合计 以此类推找出当中金额合计最大的那个 金额之和
unique_le 2013-06-18
  • 打赏
  • 举报
回复
得有额起始时间把。 不然从那一天开始 算5天一间隔。
---涛声依旧--- 2013-06-18
  • 打赏
  • 举报
回复
建议发贴时写好测试环境、查询语句和想要的结果,以方便大家更快解决问题
Mr_Nice 2013-06-18
  • 打赏
  • 举报
回复
没看懂,lz给出结果看看。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧