sql计算平均数、众数、中位数
    		       		warning:
    		            这篇文章距离上次修改已过433天,其中的内容可能已经有所变动。
    		        
        		                
                在SQL中,计算平均值使用AVG()函数,计算最大值使用MAX()函数,计算最小值使用MIN()函数,计算中位数需要自定义查询。
以下是计算平均数、最大值、最小值和中位数的示例代码:
-- 假设表名为data_table,字段名为value_column
 
-- 计算平均数
SELECT AVG(value_column) AS average_value FROM data_table;
 
-- 计算最大值
SELECT MAX(value_column) AS max_value FROM data_table;
 
-- 计算最小值
SELECT MIN(value_column) AS min_value FROM data_table;
 
-- 计算中位数
SELECT
  CASE
    WHEN COUNT(*) % 2 = 1 THEN
      (
        SELECT value_column
        FROM
          (
            SELECT value_column, ROW_NUMBER() OVER (ORDER BY value_column) AS rownum
            FROM data_table
            ORDER BY value_column
          ) AS t
        WHERE rownum = COUNT(*) / 2 + 1
      )
    ELSE
      (
        SELECT AVG(value_column)
        FROM
          (
            SELECT value_column, ROW_NUMBER() OVER (ORDER BY value_column) AS rownum
            FROM data_table
            ORDER BY value_column
          ) AS t
        WHERE rownum BETWEEN COUNT(*) / 2 AND COUNT(*) / 2 + 1
      )
  END AS median_value
FROM data_table;注意:这里的中位数计算方法是基于数据已排序的假设,并且适用于具有奇数个值的集合。如果数据集的个数为偶数,则会计算中间两个值的平均数。
评论已关闭