查询同月入职中工资最高的员工信息(用到子查询)
时间: 2023-11-11 17:04:15 浏览: 44
可以使用子查询和关联查询来实现该需求,以下是一个示例 SQL 查询语句:
```
SELECT *
FROM employee
WHERE hire_date IN (
SELECT hire_date
FROM employee
GROUP BY hire_date
HAVING COUNT(*) > 1
)
AND salary = (
SELECT MAX(salary)
FROM employee
WHERE hire_date IN (
SELECT hire_date
FROM employee
GROUP BY hire_date
HAVING COUNT(*) > 1
)
)
```
这个查询语句中,首先使用子查询获取入职月份有多个员工的所有月份,这里使用了 GROUP BY 和 HAVING 子句来筛选出符合条件的月份。然后使用关联查询获取所有入职月份为上述月份,且工资等于该月份内最高工资的员工记录。
需要注意的是,如果有多个员工在同一月份内入职且工资相同且属于最高工资,那么以上查询会返回所有这些员工的信息。
相关问题
mysql 查询月度同环比
查询月度同环比的 SQL 语句如下:
```sql
SELECT
DATE_FORMAT(date, '%Y-%m') AS month,
SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m'), amount, 0)) AS last_month,
SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 12 MONTH, '%Y-%m'), amount, 0)) AS last_year,
SUM(amount) AS current_month,
ROUND((SUM(amount) - SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m'), amount, 0))) / SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m'), amount, 0)), 2) AS mom,
ROUND((SUM(amount) - SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 12 MONTH, '%Y-%m'), amount, 0))) / SUM(IF(DATE_FORMAT(date, '%Y-%m') = DATE_FORMAT(CURDATE() - INTERVAL 12 MONTH, '%Y-%m'), amount, 0)), 2) AS yoy
FROM
table_name
WHERE
DATE_FORMAT(date, '%Y-%m') BETWEEN DATE_FORMAT(CURDATE() - INTERVAL 12 MONTH, '%Y-%m') AND DATE_FORMAT(CURDATE(), '%Y-%m')
GROUP BY
DATE_FORMAT(date, '%Y-%m')
```
解释:
1. 使用 `DATE_FORMAT` 函数将日期格式化为年月格式;
2. 使用 `SUM` 函数计算每个月的总金额;
3. 使用 `IF` 函数过滤出上个月和去年同月的金额;
4. 计算月度同比和环比,使用 `ROUND` 函数保留两位小数;
5. 使用 `GROUP BY` 按月份分组。
其中,`table_name` 为表名,`date` 为日期列名,`amount` 为金额列名。
oracle 获取去年同月数据
您可以使用 Oracle 中的日期函数来获取去年同月的数据。以下是一个示例查询,假设您要查询名为 "table_name" 的表中去年同月的数据:
```
SELECT *
FROM table_name
WHERE TO_CHAR(date_column, 'YYYY-MM') = TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'YYYY-MM');
```
该查询使用了 `TO_CHAR` 函数将日期转换为字符串,并且只保留年份和月份。然后使用 `ADD_MONTHS` 函数将当前日期减去 12 个月,以获得去年同月的日期。最后,使用 `WHERE` 子句过滤出符合要求的数据。请注意,这个查询假设您的日期列名为 "date_column",您需要将其替换为实际使用的列名。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)