2016-04-16 69 views
0

私のデータの列に90番目のパーセンタイルを計算しようとしています。 MS AccessにPERCENTILE関数がないので、合計100の上位100個の値をとり、返される値の最小値をとります。私はしかし、MS AccessのMIN()関数を使用していくつかの困難を抱えています。なぜ私はMIN関数でアスタリスクを使用することはできないのですAccess SQL:サブクエリでMIN()関数を使用

Syntax error (missing operator) in query expression 'MIN(*'. 

SELECT MIN(*) 
FROM (SELECT TOP 100 ([table1].[field1] + [table1].[field2]) FROM [table1]); 

これは私にエラーを与える:次のように私のクエリは、現在に見えますか?私はこの値を完全に間違って計算していますか?

答えて

0

最初に90パーセンタイルを取得する場合は、order byが必要です。

第二に、あなたは、列名を必要とする:

SELECT MIN(val) 
FROM (SELECT TOP 90 PERCENT ([table1].[field1] + [table1].[field2]) as val 
     FROM [table1] 
     ORDER BY ([table1].[field1] + [table1].[field2]) ASC 
    ) as t; 
+0

これはトリック、おかげで多くのことをやりました! –

関連する問題