sql - using outer alias in mysql subquery -
i writing mysql query , have question. can / how do this:
select rating, user_id, ( -- in here want write subquery number of times user_id in outter query has rated teacher ) user_rated_frequency teachers_rating teacher_id = id essentially trying data , frequency in user rated teacher. possible use alias 1 of items want select in subquery still in select , not in clause?
check out this ...
select rating, user_id, (select count(*) teachers_rating t1 teacher_id = 3 , t1.user_id = t2.user_id) user_rated_frequency teachers_rating t2 teacher_id = 3; or that one:
select avg (rating) average_rating, user_id, (select count(*) teachers_rating t1 teacher_id = 3 , t1.user_id = t2.user_id) user_rated_frequency teachers_rating t2 teacher_id = 3 group user_rated_frequency; links above show sql fiddle example assuming id 3.
alternatively have sub query in from clause:
select avg (t1.rating), t1.user_id, t2.user_rated_frequency teachers_rating t1, (select tr.teacher_id, tr.user_id, count(*) user_rated_frequency teachers_rating tr group tr.teacher_id) t2 t1.teacher_id = t2.teacher_id , t1.user_id = t2.user_id group user_id, user_rated_frequency hat @ fiddle.
Comments
Post a Comment