请教一个关联查询的 sql

查看 55|回复 2
作者:dreamramon   
数据库用的 postgres 14
现在有 3 张表, app, appuser, x ,其中 appuser 为 app 和 user 的映射关系,一个 app 会有多个 user
其中 app 的示例
[td]id[/td]
[td]name[/td]
[td]x_id[/td]
1
1
1
2
1
2
appuser 示例
[td]id[/td]
[td]app_id[/td]
[td]user_id[/td]
1
1
1
2
1
2
x 的示例
[td]id[/td]
[td]name[/td]
1
xxx
2
yyy
现在业务需求是做一个 app 的页面,其中一个表格,每行显示对应的
app.id, app.name, userCount, x.id, x.name
其中 x.id 和 x.name 把 app 表和 x 表 join 起来查询就可以。。。但是请教高手,可以怎样一行 sql 把该 app 对应的用户数也 count 出来?

App, appuser, SQL, user

liprais   
理解一下 join 到底干了啥:
把多行满足条件的数据拼接到一行里面
现在你有这一行数据了,group by 不就完了
pendulum   
SELECT "a"."id", "a"."name", COUNT("b"."user_id") AS "userCount", "x"."id", "x"."name" FROM "app" AS "a"
INNER JOIN "x" ON "a"."x_id" = "x"."id"
INNER JOIN "appuser" AS "b" ON "a"."id" = "b"."app_id"
GROUP BY "b"."app_id"
您需要登录后才可以回帖 登录 | 立即注册

返回顶部