原生sql子查询 和psql 子查询

元数据

 

 

#  通过role_id 分类查出不同种类的平均数与用户当前数值对比 (所有的用户)

select `user`.id,`user`.username,`user`.balance,`user`.dollar,vt.avsa,vt.avdo from `user`
INNER JOIN # 连接
(SELECT id,role_id,avg(balance) as avsa ,avg(dollar) 

as avdo FROM `user` GROUP BY role_id)as vt  # group by 分类   # vt 给表起别名

ON vt.role_id=`user`.role_id # 关联

 

结果时

 

 

 

而用postgresql  查询

select id,role_id,balance,avg(balance) over (partition by role_id) from user;

效果是一样的

 

posted @ 2020-12-30 20:19  睁yan-ii  阅读(161)  评论(0编辑  收藏  举报