我有一个表有2列empid和depid.此表没有任何主键.以下是该表的数据.
+-------+-------+
| empid | depid |
+-------+-------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
+-------+-------+
Run Code Online (Sandbox Code Playgroud)
现在选择我在下面查询的员工的所有depids.
select empid, group_concat(depid separator ':') from emp group by empid;
Run Code Online (Sandbox Code Playgroud)
它给了我预期的输出.
+-------+-----------------------------------+
| empid | group_concat(depid separator ':') |
+-------+-----------------------------------+
| 1 | 1:2:3:4 |
| 2 | 1:2:3:4 |
+-------+-----------------------------------+
Run Code Online (Sandbox Code Playgroud)
现在我想只选择那些大于2的depids.如何使用group_concat?
Ank*_*iiG 18
请尝试以下方式:
SELECT empid, GROUP_CONCAT(IF(depid > 2, depid, NULL) SEPARATOR ':')
FROM emp
GROUP BY empid;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10855 次 |
| 最近记录: |