[英]If condition with group_concat in mysql
我有一個表有2列empid和depid。 此表沒有任何主鍵。 以下是該表的數據。
+-------+-------+
| empid | depid |
+-------+-------+
| 1 | 1 |
| 1 | 2 |
| 1 | 3 |
| 1 | 4 |
| 2 | 1 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
+-------+-------+
現在選擇我在下面查詢的員工的所有depids。
select empid, group_concat(depid separator ':') from emp group by empid;
它給了我預期的輸出。
+-------+-----------------------------------+
| empid | group_concat(depid separator ':') |
+-------+-----------------------------------+
| 1 | 1:2:3:4 |
| 2 | 1:2:3:4 |
+-------+-----------------------------------+
現在我想只選擇那些大於2的depids。如何使用group_concat?
請嘗試以下方式:
SELECT empid, GROUP_CONCAT(IF(depid > 2, depid, NULL) SEPARATOR ':')
FROM emp
GROUP BY empid;
select empid, group_concat(depid separator ':')
from emp
where depid > 2
group by empid
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.