How can I calculate the median of values in SQLite?

前端 未结 5 2249
旧巷少年郎
旧巷少年郎 2020-12-09 02:59

I\'d like to calculate the median value in a numeric row. How can I do that in SQLite 4?

5条回答
  •  没有蜡笔的小新
    2020-12-09 03:39

    The SELECT AVG(x) returns just the year of date values formatted as YYYY-MM-DD, so I tweaked CL's solution just slightly to accommodate dates:

    SELECT DATE(JULIANDAY(MIN(MyDate)) + (JULIANDAY(MAX(MyDate)) - JULIANDAY(MIN(MyDate)))/2) as Median_Date
    FROM (
       SELECT MyDate
          FROM MyTable
          ORDER BY MyDate
          LIMIT 2 - ((SELECT COUNT(*) FROM MyTable) % 2) -- odd 1, even 2
          OFFSET (SELECT (COUNT(*) - 1) / 2 FROM MyTable)
    );
    

提交回复
热议问题