SQL Server編程的新手,想查看我是否可以獲得有關此查詢的幫助。 說我有LatencyInfo自定義聚合函數或sql server中的等價物
DateTime Latency
2014-01-21 00:00:00 12334
2014-01-21 00:00:00 56384
2014-01-20 00:00:00 1232
2014-01-20 00:00:00 4353
2014-01-19 00:00:00 434343
我的目標是要找到95個百分點的延遲時間爲每天的查詢表。所以,我能夠拿出第95個百分點作爲單一日期,但我堅持將它聚合到日期上。我無法使用PERCENTILE-CONT,因爲我所碰到的sql server版本不支持此查詢。
select MIN(P.latency)
from
(select top 5 PERCENT S.latency as PerLatencyInfo
from
(select convert(varchar(20), datetimefield, 1) as datefield
,latency
from LatencyInfo
where datetimefield >= '2014-01-21 00:00:00'
) as S
order by S.latency DESC
) as P
任何幫助非常感謝它。我無法在這裏嘗試CLR聚合,因爲我無法在服務器上安裝.NET框架。
如果我不能使用自定義聚合函數,即使我可以得到任何其他等效邏輯的幫助,它會很好。
使用SQL Server 11.0.9
您使用的是哪個版本的SQL Server? – NickyvV
[[計算第95個百分點值?](http://stackoverflow.com/questions/6784299/calculating-the-95th-percentile-value)]這裏提供了[Oracle的PERCENTILE_CONT實現使用SQL Server 2005分析函數的鏈接](http://blogs.msdn.com/b/sqltips/archive/2006/05/15/598372.aspx)文章。 –
使用Sql Server 11.0.9206 – user3167619