gpt4 book ai didi

MYSQL查询获取当年和往年工作的员 worker 数

转载 作者:行者123 更新时间:2023-11-29 23:19:53 24 4
gpt4 key购买 nike

我一直被这个查询困扰,我必须选择过去 5 年在公司工作的员工。

e-g 
in 2010 1 employee Registered so Total Employees in 2010 1
in 2011 2 employees Registered so Total Emloyees in 2013 3
in 2012 4 employees Registered and 1 left so Total Employees in 2012 6
in 2013 5 employees Registered and 2 left So Total Employees in 2013 9
in 2014 No New employee Registered or Left So Same as Same
etc

所以最终员工报告就像这样

(2010), (2011), (2012), (2013), (2014)
1 3 6 9 9

现在我很困惑如何在 mysql 查询中实现这一点。

我有表员工,其中注册了员工信息。 enter image description here

就业表,如果员工已注册,则分配加入日期,如果离开,则分配结束日期。 enter image description here

还有一个性别表来显示一年中有多少男性和多少女性在公司工作。 enter image description here

最后这是我尝试过的查询..但这不是正确的查询。我在查询中遗漏了一些东西,但我不太明白。

SELECT MLGT.`gender_type_title`,MLGT.`gender_type_id` AS GenderID,COUNT(E.`gender`) AS TotalGenders,ET.`joining_date`
FROM employee E
INNER JOIN employment ET
ON E.`employee_id` = ET.`employee_id` AND ET.`current` = 1 AND ET.`trashed`=0
INNER JOIN ml_gender_type MLGT
ON E.`gender` = MLGT.`gender_type_id` AND MLGT.`trashed`=0
WHERE E.`trashed`=0 AND ET.`joining_date` >= DATE_SUB(NOW(),INTERVAL 5 YEAR) AND ET.`current`= 1
GROUP BY E.`gender`, YEAR(ET.`joining_date`);

enter image description here

最佳答案

您需要另一个表(或常量子查询)来包含要分组的年份列表。在这个新表和就业表之间进行连接,并以连接日期比较为条件。然后计算结果:)

关于MYSQL查询获取当年和往年工作的员 worker 数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419283/

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