簡體   English   中英

獲取具有相同行ID的列值

[英]Get column value with same row id

我有這個MYSQL表:

+---------------+   
|ID|OID|   mpn  |
+--+---+--------+  
|1 | 1 |  12345 |
|2 | 1 |  54321 |
|3 | 2 |  78912 |
|4 | 2 |  12431 |
|5 | 2 |  78787 |
|6 | 3 |  14565 |
.................

現在我想為數組中的每個[OID]設置值[mpn]
像這樣的東西:

$oid1 = array([mpn1], [mpn2])
$oid2 = array([mpn1], [mpn2], [mpn3])...... 

或者只是設法輸出[mpn]參考[OID] 因此,我想讓每個MPN引用OID=1 ,例如。 那么,我如何從表中選擇那些值呢?

這里使用了COALESCE()GROUP_CONCAT函數。

GROUP_CONCAT函數將一個組中的字符串連接成一個具有各種選項的字符串。

COALESCE函數按順序計算參數,並返回最初未計算為NULL的第一個表達式的當前值。

select t.OID,COALESCE( GROUP_CONCAT( t.mpn) , '' ) as mpn
from tableName t 
group by t.OID

如果mpn具有任何空值,則可以使用任何String或null填充此空值。 你想做什么。

我想你想要group_concat()

select oid, group_concat(mpn) as mpns
from t
group by oid;

這將創建mon列表作為逗號分隔列表,您可以在php中解析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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