mysql查询中使用别名_在mysql子查询中使用外部别名

查看

this …

SELECT rating,

user_id,

(SELECT COUNT(*)

FROM teachers_rating t1

WHERE teacher_id = 3

AND t1.user_id = t2.user_id) AS user_rated_frequency

FROM teachers_rating t2

WHERE teacher_id = 3;

SELECT AVG (rating) AS average_rating,

user_id,

(SELECT Count(*)

FROM teachers_rating t1

WHERE teacher_id = 3

AND t1.user_id = t2.user_id) AS user_rated_frequency

FROM teachers_rating t2

WHERE teacher_id = 3

GROUP BY user_rated_frequency;

上面的链接显示了一个SQL小提琴示例,假设id为3.

或者,您可以在FROM子句中使用子查询:

SELECT AVG (t1.rating),

t1.user_id,

t2.user_rated_frequency

FROM teachers_rating t1,

(SELECT tr.teacher_id,

tr.user_id,

COUNT(*) AS user_rated_frequency

FROM teachers_rating tr

GROUP BY tr.teacher_id) t2

WHERE t1.teacher_id = t2.teacher_id

AND t1.user_id = t2.user_id

GROUP BY user_id, user_rated_frequency

看看这个Fiddle吧.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值