我需要構建一個查詢,可以計算平均值和計數值,同時忽略標準偏差中的異常值。MySQL忽略具有標準偏差的異常值
我在MySQL具有這些屬性兩個表(P和A):
P =付款:
Value_gbp
Paymentid
Account
rfx_ref
A =賬戶:
Accountid
Entity_type
Settlment_model
rfx_ref
到目前爲止,我已經得到了此:
SELECT
Account,
COUNT(value_GBP) AS '# Of Payments',
TRUNCATE(AVG(value_GBP),2) As 'Avg Value'
FROM payments,
LEFT JOIN(
SELECT STDDEV(value_gbp) as std_gbp
FROM payments, accounts
WHERE payments.paymentid = accounts.acountid
AND Entity_type = 'company'
AND settlement_model = 'payment agent'
GROUP BY account
) outlier
On payments.paymentid = accounts.acountid
WHERE payments.value_gbp<=outlier.std_gbp*2
AND Entity_type = 'company'
AND settlement_model = 'payment agent'
GROUP BY account
但它正在下降,指出:
On payments.paymentid = accounts.acountid
任何人都可以幫助我嗎?
「LEFT JOIN」前面不能有逗號 – Barmar
主查詢無法訪問子查詢中的表。 – Barmar
在furure中,最好向我們展示實際的錯誤消息,而不是猜測出現錯誤的位置 – RiggsFolly