繁体   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