12
我想找到Nth percentile。如何用SQLite查找第N百分位數?
例如:table:htwt;列:姓名,性別,身高,體重
結果:
| gender | 90% height | 90% weight |
| male | 190 | 90 |
| female | 180 | 80 |
我想找到Nth percentile。如何用SQLite查找第N百分位數?
例如:table:htwt;列:姓名,性別,身高,體重
結果:
| gender | 90% height | 90% weight |
| male | 190 | 90 |
| female | 180 | 80 |
SQLite是不強的分析處理,但如果你的數據不是非常大,您可以嘗試效仿百分位與ORDER BY
,LIMIT 1
和計算OFFSET
。請注意0是基於零的,所以你需要調整一個。
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;
你是什麼意思「大」的數據?根據表格中的數據行數,此解決方案適用的範圍是多少?你能詳細說明偏移量如何計算嗎? – David 2015-08-05 05:47:20