0
在我的查询中,我选择了当前的贷款余额。我还创建了一个列,返回每个贷款余额所属的五分位数。SQL - 如何返回每个五分位数的最小值和最大值
我用这个语句
NTILE(5) OVER (ORDER BY CurrLoanBal)
从这里,我怎么回每个五分之一的最小值和最大值?我不想分组任何行,我希望每行都显示特定五分位数的最小值和最大值。
在我的查询中,我选择了当前的贷款余额。我还创建了一个列,返回每个贷款余额所属的五分位数。SQL - 如何返回每个五分位数的最小值和最大值
我用这个语句
NTILE(5) OVER (ORDER BY CurrLoanBal)
从这里,我怎么回每个五分之一的最小值和最大值?我不想分组任何行,我希望每行都显示特定五分位数的最小值和最大值。
您需要在您的分区by子句决定如何将数据分割(“分组”),不进行分组同样的方式一组通过将使用聚合函数和分区
select s.col1, s.col2, ... s.colN,
max(s.col1) over (partition by s.col2, ...),
min(s.col1) over (partition by s.col2, ...)
from stuff as s;
。这样窗口函数就会应用到每个分区,为您提供所需的数据。
分区中的列按位确定行的分区方式(在您的情况下,将五分位数与另一个五分位数分隔开)。
查看https://msdn.microsoft.com/en-us/library/ms189461.aspx了解更多信息。
谢谢!这正是我想要的。 –
http://sqlfiddle.com/#!3/50d40/6 –