0
分組在MySQL中,如何將一個得到某列的中位數,在我的情況「liked_count」,在多個表彙總,並將它們按另一列,在我的情況下「creator_id」?SQL從多個表獲得列的中位數,由用戶ID
只是讓我相信我是在這裏清楚;我有多列表「liked_count」和「creator_id」,我希望爲每個創建者在所有表格中獲得median_all_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服務器上,而無需將數據返回到我的Web服務器,因爲數據集需要擴展到數以百萬計,該功能必須經常跑(和快速(至少在100毫秒,分50會更好),我需要能夠限制因此我添加了一個限制,我的AVG例子。我需要的,但對於中位數
有沒有功能,但有一個標準的公式 – Strawberry