本帖最后由 gguozhenqian 于 2010-08-27 10:46:44 编辑

解决方案 »

  1.   


     SELECT paramname,'最大值' name ,d.MaxValue FROM Parameter d union all
     SELECT paramname,'最小值' name,d.minvalue FROM Parameter d union all
     SELECT paramname,'平均值' name,Round(d.total/(d.Nums*1.0),2) FROM Parameter d  
      

  2.   

    IF (OBJECT_ID('Parameter') IS NOT NULL)
      DROP TABLE Parameter
       CREATE TABLE Parameter
       (
           ID INT IDENTITY(1,1) PRIMARY KEY,
           ParamName VARCHAR(50),
           MaxValue float,    --表名称
           MinValue FLOAT,      --真实字段名称
           Nums INT,
           Total INT 
       )
    INSERT INTO Parameter
    SELECT 'param1',50,10,5,200 UNION ALL 
    SELECT 'param2',60,20,6,300  
    SELECT * FROM (
    SELECT paramname,'最大值' name ,d.MaxValue FROM Parameter d union all
     SELECT paramname,'最小值' name,d.minvalue FROM Parameter d union all
     SELECT paramname,'平均值' name,Round(d.total/(d.Nums*1.0),2) FROM Parameter d  
    ) T 
    ORDER BY PARAMNAME
    ,CASE NAME WHEN '最大值' THEN 1 WHEN '最小值' THEN 2 ELSE 3 END
    /*
    paramname                                          name   MaxValue
    -------------------------------------------------- ------ ----------------------
    param1                                             最大值    50
    param1                                             最小值    10
    param1                                             平均值    40
    param2                                             最大值    60
    param2                                             最小值    20
    param2                                             平均值    50
    */