SQl

本文详细介绍了SQL中实现分页查询的方法,并展示了如何通过复杂的联表操作创建视图,以整合不同数据源,提供高效的数据访问途径。

分页查询:

SELECT * FROM Account t1
WHERE ID IN
(
SELECT TOP 30 ID FROM
(
SELECT TOP 90 ID FROM Account ORDER BY ID ASC
) t ORDER BY t.ID DESC
)
ORDER BY t1.ID

视图:

v_Contract
select type=1, side=0,strike=0, a.PF_Code as pfcode,a.Period as period,a.Price as price,a.V as iv,a.SR_Price_Scan as ps,a.SR_Volatility_Scan as vs,a.Ra_01 as r1,a.Ra_02 as r2,a.Ra_03 as r3,a.Ra_04 as r4,a.Ra_05 as r5,a.Ra_06 as r6,a.Ra_07 as r7,a.Ra_08 as r8,a.Ra_09 as r9,a.Ra_10 as r10,a.Ra_11 as r11,a.Ra_12 as r12,a.Ra_13 as r13,a.Ra_14 as r14,a.Ra_15 as r15,a.Ra_16 as r16 from v_Future as a
union
select type=2,a.Option_Type as side,a.Strike_Price as strike, f.PF_Code as pfcode,s.Period as period,a.Price as price,a.V as iv,s.SR_Volatility_Scan as ps,s.SR_Volatility_Scan as vs,a.Ra_01 as r1,a.Ra_02 as r2,a.Ra_03 as r3,a.Ra_04 as r4,a.Ra_05 as r5,a.Ra_06 as r6,a.Ra_07 as r7,a.Ra_08 as r8,a.Ra_09 as r9,a.Ra_10 as r10,a.Ra_11 as r11,a.Ra_12 as r12,a.Ra_13 as r13,a.Ra_14 as r14,a.Ra_15 as r15,a.Ra_16 as r16 from [Option] as a left join Series as s on s.ID =a.Series_ID left join v_Future as f on s.UC_ID=f.ID


v_Future
select distinct Future.*,pf.*,m.CName as MarketName,m.CName,ex.DispExch_CName,ex.Risk_Mode from Future left join (Product as p left join (Product_Family as pf left join Combined_Commodity as cc on pf.CC_Code=cc.Code left join Market as m on pf.Market_ID=m.ID left join Exchange as ex on pf.Exch_Code=ex.Code) on p.PF_Code=pf.PF_Code) on Future.Product_ID=p.ID


v_HisMargin
select Product.PF_Code as pfcode, cur.Factor as factor, His_Margin.Date as name,His_Margin.MaxVal as value from His_Margin left join Product on Product.ID=His_Margin.ProductID LEFT JOIN Currency_Conversion AS cur on Product.Settle_Currency=cur.To_Currency


v_HisVix
select (CONVERT(varchar(100), Date, 23)+' '+CONVERT(varchar(100), Time, 8)) as stime,CONVERT(varchar(100), Date, 23) as sdate,* from His_VIX

v_Inter
select l.EC_Code as ec, l.CC_Code as cc,l.Spread as spread,l.Relative_Side as side,type='Delta',l.Ratio as ratio,s.Rate_Value as rateValue,t.Start_Period as startDate, t.End_Period as endDate from Inter_Tier_Leg as l left join Inter_Tier as t on l.EC_Code=t.EC_Code and l.CC_Code=t.CC_Code and l.Inter_Tier_Number=t.Tier_Number left join Inter_CS_Delta as s on l.EC_Code=s.EC_Code and l.Spread=s.Spread
union
select l.EC_Code as ec, l.CC_Code as cc,l.Spread as spread,l.Relative_Side as side,type='Scan',l.Ratio as ratio,s.Rate_Value as rateValue,t.Start_Period as startDate, t.End_Period as endDate from Inter_Tier_Leg as l left join Inter_Tier as t on l.EC_Code=t.EC_Code and l.CC_Code=t.CC_Code and l.Inter_Tier_Number=t.Tier_Number left join Inter_CS_Scan as s on l.EC_Code=s.EC_Code and l.Spread=s.Spread

v_Inter2
select i.*
, case isnull(d.ec_code, '') when '' then '' else 'Delta' end
+ case isnull(s.ec_code, '') when '' then '' else 'Scan' end as type
, isnull(d.Rate_Value,0)
+ isnull(s.Rate_Value,0) as rate_value,x.pfcode,x.currency,p.Start_Period,p.End_Period,m.CName
from Inter_Tier_Leg i
inner join (
select distinct l.EC_Code,l.CC_Code, Spread,pf.PF_Code as pfcode,pf.Currency_Code as currency,pf.Market_ID as mkID
from Inter_Tier_Leg l
inner join Product_Family pf on pf.CC_Code=l.CC_Code
) x on i.EC_Code=x.EC_Code and i.Spread=x.Spread
left join Inter_CS_Delta d on d.EC_Code=x.EC_Code and d.Spread=x.Spread
left join Inter_CS_Scan s on s.EC_Code=x.EC_Code and s.Spread=x.Spread
left join Inter_Tier p on p.EC_Code=x.EC_Code and p.CC_Code=x.CC_Code AND p.Tier_Number=i.Inter_Tier_Number
left join Market m on m.ID=x.mkID


v_Intra
select l.EC_Code as ec,l.CC_Code as cc,l.Intra_Spread as spread,l.Relative_Side as side,l.Ratio as ratio,s.Rate_Value as rateValue,l.Period as startDate,l.Period as endDate,pf.Currency_Code as currency,pf.PF_Code as pfcode,m.CName as MkName from Intra_Period_Leg as l left join Intra_Commodity_Spread as s on l.EC_Code=s.EC_Code and l.CC_Code=s.CC_Code and l.Intra_Spread=s.Spread INNER JOIN Product_Family as pf on pf.EC_Code=s.EC_Code and pf.CC_Code=s.CC_Code INNER JOIN Market m on m.ID=pf.Market_ID
union
select l.EC_Code as ec,l.CC_Code as cc,l.Intra_Spread as spread,l.Relative_Side as side,l.Ratio as ratio,s.Rate_Value as rateValue,t.Start_Period as startDate, t.End_Period as endDate,pf.Currency_Code as currency,pf.PF_Code as pfcode,m.CName as MkName from Intra_Tier_Leg as l left join Intra_Tier as t on l.EC_Code=t.EC_Code and l.CC_Code=t.CC_Code and l.Tier_Number=t.Tier_Number left join Intra_Commodity_Spread as s on l.EC_Code=s.EC_Code and l.CC_Code=s.CC_Code and l.Intra_Spread=s.Spread INNER JOIN Product_Family as pf on pf.EC_Code=s.EC_Code and pf.CC_Code=s.CC_Code INNER JOIN Market m on m.ID=pf.Market_ID

 

v_Tier
SELECT s.*,pf.Currency_Code as currency,pf.PF_Code as pfcode,m.CName as MkName FROM Som_Tier s INNER JOIN Product_Family as pf on pf.EC_Code=s.EC_Code and pf.CC_Code=s.CC_Code INNER JOIN Market m on m.ID=pf.Market_ID

 

转载于:https://www.cnblogs.com/xfcao/p/9438996.html

通过短时倒谱(Cepstrogram)计算进行时-倒频分析研究(Matlab代码实现)内容概要:本文主要介绍了一项关于短时倒谱(Cepstrogram)计算在时-倒频分析中的研究,并提供了相应的Matlab代码实现。通过短时倒谱分析方法,能够有效提取信号在时间与倒频率域的特征,适用于语音、机械振动、生物医学等领域的信号处理与故障诊断。文中阐述了倒谱分析的基本原理、短时倒谱的计算流程及其在实际工程中的应用价值,展示了如何利用Matlab进行时-倒频图的可视化与分析,帮助研究人员深入理解非平稳信号的周期性成分与谐波结构。; 适合人群:具备一定信号处理基础,熟悉Matlab编程,从事电子信息、机械工程、生物医学或通信等相关领域科研工作的研究生、工程师及科研人员。; 使用场景及目标:①掌握倒谱分析与短时倒谱的基本理论及其与傅里叶变换的关系;②学习如何用Matlab实现Cepstrogram并应用于实际信号的周期性特征提取与故障诊断;③为语音识别、机械设备状态监测、振动信号分析等研究提供技术支持与方法参考; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,先理解倒谱的基本概念再逐步实现短时倒谱分析,注意参数设置如窗长、重叠率等对结果的影响,同时可将该方法与其他时频分析方法(如STFT、小波变换)进行对比,以提升对信号特征的理解能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值