由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Database版 - webbew SQL问题解法3 -- 还在远古时代总么办
相关主题
webbew SQL问题解法1 -- 90%以上的数据库版SQL问题可以用partition by解决来做sql题目。
养老院人事 SQL难题解法综述 -- 申精请教:找出10天内下了超过5次单的customers
webbew SQL问题解法2 -- SQL 利器Recursive CTE怎么写这个query呢?
问一个 SQL combine records问题分组数据后求avg值不用不用partition怎么写
求助一个MS SQL的问题。 关于SSRS的oracle和XML
问一个数据处理的问题,该如何实现单列转多行?14楼有图更新 (转载)How to query a tree
query analyzer VS. Stored procedureStored Procedure?
怎么在openquey里传变量.SQL question
相关话题的讨论汇总
话题: 2012话题: ind1话题: ind2话题: t1话题: t21
进入Database版参与讨论
1 (共1页)
B*****g
发帖数: 34098
1
原理一样,就是要达到排序后分组的目的
借用原题数据,第一步的目标加上ind1,指示此行是否是超过30天的行
User StartDate EndDate ind1
1 12/2/2011 1/16/2012 0
1 3/4/2012 3/24/2012 1
1 4/5/2012 4/26/2012 0
1 5/14/2012 6/7/2012 0
2 3/5/2012 7/30/2012 0
2 8/4/2012 9/15/2012 0
3 6/5/2012 8/20/2012 0
假设结果是t1,t1是这样得到的,请自行优化
select t11.*,
t11.startdate - (select MAX(t12.enddate) from t t21 where .. < ..) ind11
from t t11
ind11是相差的天数,自行转化成ind1 0(<=30),1(>30)
借用原题数据,第二步的目标加上ind2,指示分组
User StartDate EndDate ind1 ind2
1 12/2/2011 1/16/2012 0 0
1 3/4/2012 3/24/2012 1 1
1 4/5/2012 4/26/2012 0 1
1 5/14/2012 6/7/2012 0 1
2 3/5/2012 7/30/2012 0 0
2 8/4/2012 9/15/2012 0 0
3 6/5/2012 8/20/2012 0 1
假设结果是t2,t2是这样得到的,请自行优化
select t21.*,
(select sum(ind1) from t1 t22 where ...<=....) ind2
from t1 t21
分组成功,min,max
1 (共1页)
进入Database版参与讨论
相关主题
SQL question求助一个MS SQL的问题。 关于SSRS的
ADO & DAO &SQL...Help...问一个数据处理的问题,该如何实现单列转多行?14楼有图更新 (转载)
数据库问题求解query analyzer VS. Stored procedure
How to use the SQL key word EXISTS?怎么在openquey里传变量.
webbew SQL问题解法1 -- 90%以上的数据库版SQL问题可以用partition by解决来做sql题目。
养老院人事 SQL难题解法综述 -- 申精请教:找出10天内下了超过5次单的customers
webbew SQL问题解法2 -- SQL 利器Recursive CTE怎么写这个query呢?
问一个 SQL combine records问题分组数据后求avg值不用不用partition怎么写
相关话题的讨论汇总
话题: 2012话题: ind1话题: ind2话题: t1话题: t21