5

現在、次のようなMySQLテーブルがあります。

id | friend
1  |   2
1  |   5
1  |   10
3  |   6
15 |   19
21 |   4

ある特定のユーザーのすべてのフレンド ID を取得して、それらをカンマ区切りのリストに配置しようとしています。たとえば、user1 の友達を取得すると、次のように返されます。

$friend_list = 2,5,10

現在、私は持っています:

$sql = "SELECT friend FROM table__friends WHERE id = ".$user_id;

ただし、これは1行しか取得しません..助けてください!

ありがとう

4

5 に答える 5

13

GROUP_CONCATを使用します:

$sql = "SELECT GROUP_CONCAT(friend) FROM table__friends GROUP BY id HAVING id = ".$user_id;

より良い答えごとに正確さのために調整されました。

于 2012-06-11T20:37:19.013 に答える
4
$sql = "SELECT GROUP_CONCAT (DISTINCT friend SEPARATOR ',') 
      FROM table_friends GROUP BY id 
       HAVING id =".$user_id; 
于 2012-06-11T20:39:14.513 に答える
0

あなたはおそらく関数を探していGROUP_CONCAT(column)ます。例hereおよびhere

于 2012-06-11T20:39:16.307 に答える