MySQL,将员工按 empno分成4组,参加不同活动 (mod函数))
时间: 2023-12-03 17:03:20 浏览: 26
你可以使用 MySQL 的模运算符(%)来将员工按照 empno 分成四组。以下是一个示例查询,可以将员工按照他们的 empno 分成四组,并将每个员工分配到不同的活动中:
```
SELECT empno, activity
FROM employees
CROSS JOIN (
SELECT 1 AS activity
UNION SELECT 2
UNION SELECT 3
UNION SELECT 4
) activities
WHERE activities.activity = (empno % 4) + 1;
```
在此查询中,我们使用了 `CROSS JOIN` 来创建一个包含四个活动的虚拟表。然后,我们使用 `WHERE` 子句来筛选出每个员工所属的活动。`empno % 4` 的结果是 0、1、2 或 3,我们加上 1 来使其成为 1、2、3 或 4,以便将其与活动编号匹配。
相关问题
MySQL,将员工按 empno分成4组,参加不同活动 (mod函数))/*1组 basketball 2组 football 3组 pingpong 其余的人 running man */
你可以使用 MySQL 的 CASE 表达式来将员工按照 empno 分成四组,并将他们分配到不同的活动中。以下是一个示例查询,可以将员工按照他们的 empno 分成四组,并将每个员工分配到不同的活动中:
```
SELECT empno,
CASE empno % 4
WHEN 0 THEN 'running man'
WHEN 1 THEN 'basketball'
WHEN 2 THEN 'football'
WHEN 3 THEN 'pingpong'
END AS activity
FROM employees;
```
在此查询中,我们使用了 `CASE` 表达式来根据 `empno % 4` 的结果将每个员工分配到不同的活动中。如果 `empno % 4` 的结果是 0,则将员工分配到 running man 活动中,如果结果是 1,则将其分配到 basketball 活动中,以此类推。
mysql支持within group (order by empno asc)语法吗
是的,MySQL支持使用 "WITHIN GROUP (ORDER BY)" 子句来对聚合函数的结果进行排序。该语法可用于在 GROUP BY 子句中指定排序顺序。
例如,以下是一个示例查询,它使用“WITHIN GROUP (ORDER BY)”子句来按照 empno 升序对每个部门的平均工资进行排序:
```
SELECT deptno, AVG(sal)
FROM emp
GROUP BY deptno
ORDER BY AVG(sal) DESC, deptno ASC
WITHIN GROUP (ORDER BY empno ASC);
```
在这个查询中,我们首先按照每个部门的平均工资进行降序排序,然后对于每个部门,再按照 empno 升序排序。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)