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

Popular posts from this blog

c# - How Configure Devart dotConnect for SQLite Code First? -

c++ - Clear the memory after returning a vector in a function -

erlang - Saving a digraph to mnesia is hindered because of its side-effects -