Below is the correct answer given by Erland Sommarskog
Create Table #scores(Student varchar(20), score int);
Insert #scores(Student, score) Values
('Student1', 20)
,('Student2', 20)
,('Student3', 30)
,('Student4', 30)
,('Student4', 30)
,('Student4', 30)
,('Student5', 40)
,('Student6', 40)
,('Student7', 50)
,('Student8', 50)
,('Student9', 60)
,('Student10', 70)
,('Student11', 70)
,('Student12', 80)
,('Student13', 80)
,('Student14', 90);
; WITH quintiles AS (
SELECT score, ntile(5) OVER(ORDER BY score) AS quintile
FROM (SELECT DISTINCT score FROM #scores) AS s
)
SELECT s.Student, s.score, q.quintile
FROM #scores s
JOIN quintiles q ON s.score = q.score
go
DROP TABLE #scores
--by Erland Sommarskog``
如何使用SQL Server 2008将学生分数分为五等分
如何使用SQL Server 2008将学生分数分为五等分
推荐问题
分类汇总
- (2)
- .net(5)
- Access(210)
- android(1)
- android-studio(1)
- angular(1)
- bash(1)
- c(1)
- c#(625)
- chrome-devtools(1)
- CSS(782)
- css3动画(1)
- docker(1)
- docker-compose(2)
- dotnet(477)
- echarts5.0(1)
- elasticsearch(2)
- element-ui(1)
- eslint(1)
- eventbus(1)
- ffmpeg(2)
- fiddler(1)
- flask(1)
- flutter(1)
- git(2)
- Go(2093)
- golang(9)
- gradle(1)
- harmonyos(4)
- ios(1)
- java(7682)
- javascript(1221)
- Jave(256)
- JS(330)
- jwt(1)
- kafka(1)
- linux(1)
- lua(1)
- matlab(1)
- mongodb(192)
- MySQL(2516)
- nestjs(1)
- nginx(1)
- Node(262)
- node.js(3)
- Oracle(458)
- php(1213)
- player(1)
- Postgres(167)
- ppt(1)
- python(11274)
- react.js(6)
- redis(2)
- rollup(1)
- seata(1)
- sequelize(1)
- sniffer(1)
- Solr(23)
- springboot(1)
- SQL(118)
- SQLServer(5624)
- Swift(224)
- sybase(21)
- typescript(5)
- uniapp(1)
- uni-app(1)
- vant-weapp(1)
- visual-studio-code(1)
- vue.js(12)
- vue3(3)
- vuex(1)
- wasm(1)
- webpack(1)
- 笔记本电脑(1)
- 调试技巧(1)
- 公众号(1)
- 机器学习(1)
- 计算机(1)
- 爬虫(1)
- 其他(33505)
- 前端(16)
- 算法(2)
- 小程序(3)
- 虚拟机(1)
- 运维(1)