gpt4 book ai didi

mysql - 根据每位员工的功绩点从最高到最低对每个员工进行排名

转载 作者:行者123 更新时间:2023-11-29 17:55:20 24 4
gpt4 key购买 nike

创建两个表emp_merits(meritid,empid,date,meritpoints),emp1(empid,empname)每个员工每月都会根据他们的表现获得功绩点。因此,同一员工可以在表中拥有多个具有不同优点的条目。列出特定员工在特定日期之间获得的所有优点(此处将输入 empid)根据每位员工的功绩点从最高到最低进行排名

到目前为止我已经尝试过这个查询

select   empid , sum (meritpoints) as totalmerits , (DENSE_RANK()OVER (PARTITION BY empid ORDER BY meritpoints desc)) AS rank from emp_merit 
group by empid,meritpoints
order by empid ,totalmerits desc

最佳答案

你可以试试这个:

SELECT @rownum := @rownum + 1 AS rank, a.*  
FROM (
SELECT empid, sum(meritpoints) AS totalmerits
FROM emp_merits
GROUP BY empid
ORDER BY totalmerits) a, (SELECT @rownum := 0) r ;

您可能需要在 WHERE 子句中指定具体日期。

关于mysql - 根据每位员工的功绩点从最高到最低对每个员工进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48903521/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com