我有这个MYSQL表:
+---------------+
|ID|OID| mpn |
+--+---+--------+
|1 | 1 | 12345 |
|2 | 1 | 54321 |
|3 | 2 | 78912 |
|4 | 2 | 12431 |
|5 | 2 | 78787 |
|6 | 3 | 14565 |
.................
现在我想为数组中的每个[mpn]
设置值[OID]
像这样:
$oid1 = array([mpn1], [mpn2])
$oid2 = array([mpn1], [mpn2], [mpn3])......
或者只是设法输出引用[mpn]
的{{1}}。因此,我希望每个[OID]
引用MPN
,例如。那么,如何从表中选择这些值?
答案 0 :(得分:2)
此处使用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填充此空值。你想做什么。
答案 1 :(得分:1)
我想你想要int i=0;
for (Integer locations_arraylist1 : locations_arraylist) {
System.out.println("data_array[" + i + "]=" + locations_arraylist1);
i++;
}
:
group_concat()
这会创建select oid, group_concat(mpn) as mpns
from t
group by oid;
列表作为逗号分隔的列表,您可以在php中解析。