كيفية العثور على النسبة المئوية NTH مع sqlite؟
-
13-09-2019 - |
سؤال
أود أن أجد nth النسبة المئوية.
على سبيل المثال: الجدول: HTWT؛ الأعمدة: الاسم، الجنس، الطول، الوزن
نتيجة:
| gender | 90% height | 90% weight |
| male | 190 | 90 |
| female | 180 | 80 |
المحلول
SQLite ليس قويا في المعالجة التحليلية ولكن إذا لم تكن بياناتك كبيرة جدا، فيمكنك محاولة محاكاة المئوية ORDER BY
, LIMIT 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;
لا تنتمي إلى StackOverflow