我试图用这个数据集按公司名称总结每个员工的日期时间的最后值(总和)和每个公司名称的qa评分(平均值):
+--------------+-----------+------------------+-----------+----------+
| Company_Name | Wing_Name | Date_Time | Employees | QA_Score |
+--------------+-----------+------------------+-----------+----------+
| Company A | Wing A | 06/08/2018 13:00 | 82 | 3.5 |
| Company A | Wing A | 06/08/2018 13:01 | 83 | 3.6 |
| Company A | Wing A | 06/08/2018 13:02 | 84 | 3.7 |
| Company A | Wing B | 06/08/2018 13:00 | 50 | 4.1 |
| Company A | Wing B | 06/08/2018 13:01 | 51 | 4.2 |
| Company A | Wing B | 06/08/2018 13:02 | 52 | 4.3 |
| Company B | Wing A | 06/08/2018 14:00 | 82 | 3.6 |
| Company B | Wing A | 06/08/2018 14:01 | 85 | 3.7 |
| Company B | Wing A | 06/08/2018 14:02 | 88 | 3.8 |
+--------------+-----------+------------------+-----------+----------+
所需输出为:
+--------------+-----------+----------+
| Company_Name | Employees | QA_Score |
+--------------+-----------+----------+
| Company A | 136 | 4 |
| Company B | 88 | 3.8 |
+--------------+-----------+----------+
我已经成功地使用下面的代码按wing_name显示date_time的最后一个结果,但在我的一生中,无法为company_name计算出来,同时将wing_name从输出中排除。
SELECT * FROM table
WHERE (Wing_Name, Date_Time) IN
(SELECT Wing_Name, MAX(Date_Time) Date_Time FROM table GROUP BY Wing_Name)
AND `Company_Name` = "Company A";
现在,所需的输出应该是公司名称的员工总数和每个名称的结果,以及各个名称的qa\u得分的平均值,但汇总在公司名称下
所需输出遵循以下逻辑:
a公司和wing a员工的最后日期时间值为84。
a公司和b公司员工的最后日期时间值为52。
截至上一个日期和时间检索,a公司有84+52名员工(136人)。
公司a和wing a的qa评分的最后日期时间值为3.7。
a公司和b公司qa评分的最后日期时间值为4.3。
a公司质量保证单元平均得分为4.0分
b公司员工人数为88人
b公司质量保证单元平均分3.8分
这一定是我错过的简单的东西?先谢谢你。
1条答案
按热度按时间mf98qq941#
你需要两人一组
company_name
以及wing_name
在子查询中,然后按company_name
合并选定的行。演示