MySQLでは、特定のカラムのメジアンを「liked_count」で複数のテーブルにまたがって集計し、私の場合は「creator_id」ですか?ユーザIDでグループ化された複数のテーブルからカラムの中央値を取得するためのSQL
私はここではっきりしていると確信しています。私は複数のテーブルに "liked_count"と "creator_id"を持っているので、それぞれのテーブルではなく、すべてのテーブルの中で各クリエイターのメイキングlik_countを取得したいと思います。
私はAVG()で平均を得ることができますが、中央値関数はないようです。
select a.creator_id, avg(a.liked_count) as average
from (
select creator_id, liked_count from type1
union select creator_id, liked_count from type2
union select creator_id, liked_count from type3
union select creator_id, liked_count from type4
union select creator_id, liked_count from type5
) a group by a.creator_id order by average desc, a.creator_id desc limit 10
編集:私は、データセットが何百万人に拡大する必要があるので、私は、私のウェブサーバーにデータを戻すことなく、MySQLサーバ上にあるように全体の事を必要とすることを追加する必要があり、この機能をする必要があります頻繁に実行してください(少なくとも100ms以下であれば、50を下回るほうが良いでしょう)。制限する必要があるため、私はAVGの例に制限を加えましたが、私はそれを必要としますが、中央値にしてください。
機能はありませんが、標準的な式があります – Strawberry