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