Simple way to calculate median with MySQL

后端 未结 30 1769
北荒
北荒 2020-11-22 04:20

What\'s the simplest (and hopefully not too slow) way to calculate the median with MySQL? I\'ve used AVG(x) for finding the mean, but I\'m having a hard time fi

30条回答
  •  离开以前
    2020-11-22 04:38

    SELECT 
        SUBSTRING_INDEX(
            SUBSTRING_INDEX(
                GROUP_CONCAT(field ORDER BY field),
                ',',
                ((
                    ROUND(
                        LENGTH(GROUP_CONCAT(field)) - 
                        LENGTH(
                            REPLACE(
                                GROUP_CONCAT(field),
                                ',',
                                ''
                            )
                        )
                    ) / 2) + 1
                )),
                ',',
                -1
            )
    FROM
        table
    

    The above seems to work for me.

提交回复
热议问题