如a=9,b=5,c=6
max(a,b,c)得9;min(a,b,c)得5
用一select语句乍得到?select max(?)

解决方案 »

  1.   

    -- max(a,b,c) 伪码
    case
    when @a>=@b and @a>=@c then @a
    when @b>=@c then @b
    else @c
    end-- min <=
      

  2.   

    select max(AA) From 
    (
    Select 9 AA
    union
    Select 5 AA
    Union
    Select 8 aa
    ) A
      

  3.   

    declare @t table(Sname nvarchar(5),  V1 float,    V2 float,    V3 float,      V4 float,    V5 float,      V6 float) 
    insert @t select N'张三',    0.11 , 0.21 , 0.29,  0.32 ,   0.11,    0.08 
    insert @t select N'李四',    0.01 , 0.61 , 0.21,  0.73 ,   0.21,    0.12 
    insert @t select N'张五',    0.31 , 0.21 , 0.23,  0.33 ,   0.91,    0.65 
    insert @t select N'张六',    0.59 , 0.11,  0.26,  0.13,    0.01,    0.15 select b.* from
        (select x=cast((select * from @t for xml path('r')) as xml)) a
    cross apply
        (
            select name=x.query('./Sname/text()'),v=x.query('max(./*[local-name(.)!="Sname"])') from a.x.nodes('//r') as t(x)  
            --r为二级节点(因为文档本身无根节点,即为每项的顶级节点)即为一个r节点表示一条记录. r下级节点,每个表示一个列,因为列名未知,所以用/*匹配所有节点,因为name为区别列,不参与聚合运算,故用local-name取得来过滤
        ) b/*
    张三    0.32
    李四    0.73
    张五    0.91
    张六    0.59
    */http://topic.csdn.net/u/20081107/17/68aaf5a9-c596-4ab5-ae18-f3370b2ab35b.html