来自两个带CONCAT的表的MYSQL请求

use*_*349 1 mysql sql request database-table

也许你可以帮助我:

如果有一个table1:accounts

user_id   account_id   
39        3799207
39        80286966
40        3789458
Run Code Online (Sandbox Code Playgroud)

...

表2:订阅者

id   client_id  master_id   master_account_id   active 
1    43         39          3799207             1
2    43         39          80286966            1
3    44         39          80286966            1
4    45         39          80286966            1
Run Code Online (Sandbox Code Playgroud)

...

使用此请求:

'SELECT account_id FROM accounts WHERE user_id = "39"';
Run Code Online (Sandbox Code Playgroud)

我可以得到这张桌子:

Account
3799207
80286966
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这张表:

Account      Subscribers     Count
3799207      43              1
80286966     43,44,45...     3
Run Code Online (Sandbox Code Playgroud)

谢谢!

Joh*_*Woo 6

试试这个:

SELECT a.account_id Account, 
      GROUP_CONCAT(b.client_id) Subscribers,
      COUNT(b.client_id) `Count`
FROM accounts a INNER JOIN subscribers b
    on a.account_id = b.master_account_id
WHERE b.master_id = '39'
GROUP BY a.account_id
Run Code Online (Sandbox Code Playgroud)

MySQlSQLite具有内置功能GROUP_CONCAT,可将列连接成行.

HTH