5

すべての値の平均に最も近い値を取得するクエリを探しています。たとえば、列 A に値 - 1 、 2 、 8 があります。平均は 3.667 です。したがって、平均値に最も近いため、クエリが2を返すようにします。

4

3 に答える 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)

SQL フィドル

于 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 に答える