我正在寻找一个查询来获取与所有值的平均值最接近的值。例如,我在 A 列中有值 - 1 , 2, 8 平均值为 3.667 。所以我希望查询返回 2,因为它最接近平均值。
问问题
1515 次
3 回答
8
SELECT TOP 1 myTable.*
FROM myTable
CROSS JOIN (SELECT AVG(A) AS averageA FROM myTable) AS averageA
ORDER BY ABS(averageA.averageA - myTable.A)
于 2013-01-23T18:14:11.590 回答
2
SELECT number, ABS(number - (SELECT AVG(number) FROM numberTable)) AS deviation
FROM numberTable
ORDER BY deviation ASC
LIMIT 1;
于 2013-01-23T18:38:50.030 回答
0
SELECT MAX(A)
FROM myTable
WHERE A < (SELECT AVG(A) AS averageA FROM myTable)
于 2013-01-23T18:43:39.237 回答