簡體   English   中英

如果在mysql中使用group_concat條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM