小白求教: mysql 怎么实现排序后新增一列并分区段赋值,比如分数排名前 20%的就是绩效 A,后 10%的就是绩效 C

2019-05-26 09:40:52 +08:00
 ditie

比如数据表 kaohe 的字段有 id,department,date,userid,score。

需求有三个: 1、怎么根据 score 在一个语句里分月度、分部门进行组内排序,以及当月全体排序?

2、怎么能多一列来显示自动分布的绩效?排名前 20%的就是绩效 A,后 10%的就是绩效 C

3、怎么把这个排序和新增后的绩效结果全部插入到一个新表里?

我是 MySQL 数据库,木有 row_number ()函数

7498 次点击
所在节点    MySQL
67 条回复
zeraba
2019-05-26 16:01:57 +08:00
搜索 mysql 添加行号,有了行号有序的列表实现这个需求应该很简单了
Takamine
2019-05-26 18:28:50 +08:00
换 postgerSQL。:doge:
Takamine
2019-05-26 18:29:36 +08:00
@Takamine postgreSQL。_(:з」∠)_
sinchuan
2019-05-26 18:48:41 +08:00
存储过程。尽量语句分开写,方便日后有变更。
Umenezumi
2019-05-26 19:57:23 +08:00
求总 Count 然后根据需要 when case
zxcslove
2019-05-26 19:59:25 +08:00
插句话,假设有并列名次遇到区段边界如何处理?
ditie
2019-05-26 20:04:06 +08:00
@zxcslove 脑壳痛。。。问到了这么尖锐的问题。。
ditie
2019-05-26 20:04:38 +08:00
@lolizeppelin 5.7 版本呀,我倒想换呢,无奈我说了不算
ditie
2019-05-26 20:05:35 +08:00
@Takamine 抓住一个吉他手
ditie
2019-05-26 20:05:54 +08:00
@zeraba。。。请问有了行号之后该怎么做
ditie
2019-05-26 20:06:15 +08:00
@sinchuan mysql 不是存储过程就是个笑话么。。
ditie
2019-05-26 20:06:32 +08:00
@Umenezumi 麻烦给点具体语句示例
acehow
2019-05-26 20:27:06 +08:00
MySQL8 支持 over 开窗函数。
ditie
2019-05-26 20:29:39 +08:00
@acehow 无奈我的 是 5.7 版本呀
webdisk
2019-05-26 20:30:33 +08:00
弄完之后发现自己的绩效是 C
strcmp
2019-05-26 20:37:31 +08:00
redis zset
zander1024
2019-05-26 20:50:36 +08:00
@ditie mysql 存储不是笑话... 代码明明很好实现你一定要数据库实现那就存储,游标吧
ditie
2019-05-26 21:15:08 +08:00
@zander1024 真心求教下,这个“代码”是指什么,怎么个写法呢?我是真的不会呀
ditie
2019-05-26 21:15:20 +08:00
@webdisk 整个人都不好了
ditie
2019-05-26 21:15:44 +08:00
@strcmp 这又是个什么路子,大佬再给点清晰的指导

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/567720

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX