MySQL - 获取列中的平均值

tes*_*est 1 php mysql math

我正在制作一些包含某些歌曲的列表.每首歌都有自己独特的ID.好吧,让我说我有这个表叫list.一个新的:

在此输入图像描述

该ID不言自明.它用于ID行.song_one通过song_ten充满了歌曲的唯一ID.

每次用户创建新内容时list,他们都会添加歌曲,每行都会被填充.现在,我将如何得到表中的歌曲的平均等级list使用填充的歌曲的ID song_one通过song_ten

She*_*lal 5

重新设计您的数据库.用songid,listid和rank创建一个新表.这将使您的工作变得轻松.

listsongs
-----------------
songid [PK] -- Foreign key referencing the songs table
listid [PK] -- Foreign key referencing the lists table
rank
Run Code Online (Sandbox Code Playgroud)

选择平均歌曲排名:

SELECT
    a.song_id
    AVG(b.rank) AS avgrank
FROM
    songs a
LEFT JOIN
    listsongs b PM a.song_id = b.song_id
GROUP BY
    a.song_id
Run Code Online (Sandbox Code Playgroud)