پیش به سوی تابستان؛ با تخفیفهای داغ راکت!
بزن بریم!سلام وقت همه دوستان بخیر باشه.
بنده یک سوال در زمینه mysql داشتم.
فرض کنید من یک جدول به شکل زیر دارم.
در این جدول من 3 تا پارامتر یوزر ، ویدئو و سرعت دیده شده رو دارم.
حال سوال اینه که من میخوام میانگین سرعت 3 ویدئو ی آخر دیده شده ی هر کاربر در هر کورس رو بدست بیارم.
برای وصل شدن ویدئو به کورس، باید 2 تا جوین بین کورس و تاپیک و ویدئو داشته باشیم.
برای مثال من با کد زیر میانگین سرعت هر کاربر در یک کورس رو بدست میارم. ولی سوال اینه که چه طور میانگین 3 ویدئوی آخر رو بدست بیارم؟
SELECT avg(favorite_speed),favorite_speed.user_id,topics.course_id FROM favorite_speed,videos,topics WHERE favorite_speed.video_id=videos.id AND topics.id=videos.topic_id GROUP BY user_id,videos.topic_id
ORDER BY `avg(favorite_speed)` DESC
با رابطه join یا اصلا با where کردن آی دی کاربر سه رکورد اخر رو فیلتر میکنید و در نهایت اگر بخواید با query میانگین رو بدست بیارید با avg هم میشه
من در آخر با row_number نوشتم.
دوستان دیگ هم که اگر به چنین مشکلی خوردن باید این کار رو بکنن.
فکر میکنم از نظر پرفورمنس جوین کردن 3 تا با هم. توی تیبلی ک 40 هزار تا داشته باشه اصلا شدنی نباشه...
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟