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