现在有一个名为departments、employees、salary的表 求mysql 按部门和职称分别统计老师的基本工资总和
时间: 2024-12-19 19:18:24 浏览: 8
你可以使用SQL的GROUP BY和SUM函数来实现这个查询。假设你的表结构如下:
- departments 表包含 department_id 和 department_name 字段
- employees 表包含 employee_id, department_id, job_title (职称) 和 basic_salary (基本工资) 字段
可以编写如下的MySQL查询语句:
```sql
SELECT departments.department_name, employees.job_title, SUM(employees.basic_salary) AS total_salary
FROM departments
JOIN employees ON departments.department_id = employees.department_id
WHERE employees.job_title LIKE '%老师%'
GROUP BY departments.department_name, employees.job_title;
```
这个查询会按部门名(department_name)和员工职称(job_title)对"老师"进行分类,并计算每个类别内的基本工资总和(`total_salary`)。
相关问题
9)、查询每个部门的男、女员工的总工资。用mysql
为了查询每个部门内男、女员工的总工资,假设我们有两个表,一个是`employees`(员工表),包含`id`, `gender`, 和 `salary`字段,另一个是`departments`(部门表),包含`department_id`和`department_name`。我们可以使用子查询和GROUP BY来达到目的:
```sql
SELECT d.department_name,
SUM(CASE WHEN e.gender = '男' THEN e.salary ELSE 0 END) AS male_salary,
SUM(CASE WHEN e.gender = '女' THEN e.salary ELSE 0 END) AS female_salary
FROM departments d
LEFT JOIN employees e ON d.department_id = e.department_id
GROUP BY d.department_name;
```
这里通过CASE语句分别计算男性和女性员工的工资总和,并使用`SUM()`函数求和。`LEFT JOIN`确保了每个部门都包括其所有员工,无论性别。
阅读全文