كيفية العثور على النسبة المئوية NTH مع sqlite؟

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

  •  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;
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top