我正试着与一所特定的大学进行比较,例如,Stetson大学。我已经有一个问题,将显示给我的10所最高和最低的贷款学校,以一定百分比的学位完成。我只需要比较一下报告中的具体学院,以及10所最高和最低的学校,在一定程度上完成学位。
下面是我之前为90百分位数运行的查询:
SELECT TOP 10 UNITID, INSTNM, CUML_DEBT_P90 FROM MERGED2013_DebtOnly WHERE CUML_DEBT_P90 IS NOT NULL ORDER BY CONVERT(MONEY,STR(CUML_DEBT_P90,8,2)) DESC
SELECT TOP 10 UNITID, INSTNM, CUML_DEBT_P90 FROM MERGED2013_DebtOnly WHERE CUML_DEBT_P90 IS NOT NULL ORDER BY CONVERT(MONEY,STR(CUML_DEBT_P90,8,2)) ASC以下是数据类型:
CREATE TABLE [dbo].[MERGED2013_DebtOnly](
[UNITID] [float] NULL,
[INSTNM] [nvarchar](255) NULL,
[CUML_DEBT_N] [float] NULL,
[CUML_DEBT_P90] [float] NULL,
[CUML_DEBT_P75] [float] NULL,
[CUML_DEBT_P25] [float] NULL,
[CUML_DEBT_P10] [float] NULL,期望结果图像

发布于 2019-01-26 03:14:28
我会做这样的事。它会返回你的学校,它的位置在所有的顺序:
;WITH cte as (
SELECT UNITID, INSTNM, CUML_DEBT_N, C150_4_POOLED_SUPP
, CUML_DEBT_P10_ASC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P10 ASC)
, CUML_DEBT_P10_DESC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P10 DESC)
, CUML_DEBT_P25_ASC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P25 ASC)
, CUML_DEBT_P25_DESC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P25 DESC)
, CUML_DEBT_P75_ASC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P75 ASC)
, CUML_DEBT_P75_DESC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P75 ASC)
, CUML_DEBT_P90_ASC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P90 ASC)
, CUML_DEBT_P90_DESC = ROW_NUMBER() OVER (ORDER BY CUML_DEBT_P90 DESC)
FROM [dbo].[MERGED2013_DebtOnly])
SELECT * FROM cte
WHERE INSTNM = 'Stetson University';顺便回顾一下你的脚本,你的ASC/DESC很混乱
https://stackoverflow.com/questions/54374997
复制相似问题