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)
谢谢!
试试这个:
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)
MySQl并SQLite具有内置功能GROUP_CONCAT,可将列连接成行.
HTH
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |