【问题标题】:query for sql server 2005 for getting the 95th percentile of different groups查询 sql server 2005 以获得不同组的第 95 个百分位
【发布时间】:2012-06-05 10:31:15
【问题描述】:

我有一张像下面描述的虚拟表一样的表

日期 ||服务器 ||计数


1200 ||乙 || 123

1200 || C || 124

1200 ||乙 || 125

1300 ||乙 || 126

1300 || C || 127

1300 ||乙 || 128

1300 || C || 129

我需要编写一个查询来创建一个表,以便获得按日期和服务器分组的 Count 的 95 个百分位。

我对Sql没有太多经验,看了google搜索结果,浏览了无数链接,看到很多子查询使用后,我有点害怕。没有人能给出简单的查询。我们不能直接使用直接查询得到如下结果吗?

日期 ||服务器 ||计数


1200 ||乙 || 123

1200 || C || 124

1300 ||乙 || 126

1300 || C || 127

有人可以提供可以使用的确切查询吗?

感谢您的帮助!

【问题讨论】:

    标签: sql sql-server-2005 percentile


    【解决方案1】:
    SELECT  *
    FROM    (
            SELECT  *, NTILE(20) OVER (PARTITION BY [date], [server] ORDER BY [count]) AS t
            FROM    mytable
            ) q
    WHERE   t < 20
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 2021-06-22
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多