どのようにSQLiteの持つN番目のパーセンタイルを見つけるには?

StackOverflow https://stackoverflow.com/questions/1123576

  •  13-09-2019
  •  | 
  •  

質問

私はN番目を見つけるのが好きだろうパーセンタイルするます。

例:表:htwt。コラム:名前、性別、身長、体重

結果:

| gender | 90% height | 90% weight |
| male   |        190 |         90 |
| female |        180 |         80 |
役に立ちましたか?

解決

SQLiteは分析処理では強くありませんが、あなたのデータは非常に大きくない場合、あなたはORDER BYLIMIT 1算出OFFSETとパーセンタイルをエミュレートしようとすることができます。 OFFSETはゼロベースあなたがいずれかでそれを調整する必要があるようであることに注意してください。

SELECT
  height AS 'male 90% height'
FROM table
WHERE gender='male'
ORDER BY height ASC
LIMIT 1
OFFSET (SELECT
         COUNT(*)
        FROM table
        WHERE gender='male') * 9 / 10 - 1;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top