SQL查询统计各岗位雇员的雇员数量、平均雇员薪资、最高雇员薪资、最低雇员薪资、合计雇员薪资。
时间: 2023-09-01 09:13:50 浏览: 129
你可以使用以下SQL查询来统计各岗位的雇员数量、平均薪资、最高薪资、最低薪资和合计薪资:
```sql
SELECT
position,
COUNT(*) as employee_count,
AVG(salary) as average_salary,
MAX(salary) as max_salary,
MIN(salary) as min_salary,
SUM(salary) as total_salary
FROM
employees
GROUP BY
position;
```
这个查询将根据"position"字段对"employees"表进行分组,并计算每个岗位的雇员数量、平均薪资、最高薪资、最低薪资和合计薪资。请确保将"employees"替换为你实际使用的表名。
相关问题
从雇员中找出工资大于平均工资的职工信息。
您可以使用以下 SQL 命令找出工资大于平均工资的职工信息:
```sql
SELECT *
FROM 雇员
WHERE 薪水 > (SELECT AVG(薪水) FROM 雇员);
```
这将返回工资高于平均工资的职工的全部信息。使用 `SELECT AVG(薪水) FROM 雇员` 子查询计算出 `雇员` 表中的平均工资,然后在外部查询中使用 `WHERE` 子句筛选出薪水高于平均工资的职工记录。
用数据库列出每个工作的最低工资和从事最低工资工作的雇员名称
假设你使用的是名为"employees"的数据库,其中包含一个"jobs"表和一个"employees"表。"jobs"表包含每个工作的名称和最低工资,"employees"表包含每个雇员的姓名和所从事的工作。
你可以使用以下SQL查询语句来获取每个工作的最低工资和从事最低工资工作的雇员名称:
```
SELECT j.job_title, j.min_salary, e.first_name || ' ' || e.last_name AS employee_name
FROM jobs j
INNER JOIN employees e
ON j.job_id = e.job_id
WHERE j.min_salary = (
SELECT MIN(min_salary) FROM jobs
WHERE job_id = j.job_id
)
ORDER BY j.job_title;
```
这个查询语句会连接"jobs"表和"employees"表,并使用子查询来获取每个工作的最低工资。然后,它会筛选出与每个工作的最低工资相等的所有雇员,并将他们的姓名和工作信息按工作名称排序。