19

group_concat をデータの配列として使用して、データベースから取得した値を返したいと思います。mysqlクエリでこれを行うことは可能ですか? または、データを配列に分解する必要がありますか?

GROUP_CONCAT(sh.hold_id) as holds

これを返します

[holds] => 3,4

私はそれを返したい:

[holds] => array(3,4)
4

4 に答える 4

19

コメントで述べたように、次のような php コードを使用して、データを配列に分解する必要があります。

$holds = explode(',', $holds);

mysql にはデータの配列型の概念がないためです。

于 2012-07-31T16:52:43.567 に答える
3

MySQLには配列の概念がありません。したがって、配列を返すことはできません。連結された表記をphp配列に変換するのは、処理コード(ここではphpスクリプト)次第です。

于 2012-07-31T16:49:51.923 に答える
3

MySQL レベルでそれを行う必要がある場合は、おそらくそれをオブジェクトに解析することができます。次のことができます

SELECT CONCAT("[", GROUP_CONCAT(category.name), "]") AS categories
From categories
于 2020-05-21T16:44:31.027 に答える
0

このように mysql JSON 配列を返すことは可能です。

json_array(GROUP_CONCAT(sh.hold_id)) as holds

詳細については、ドキュメントを参照してください。

于 2021-10-27T22:38:19.637 に答える