1. 对所有记录
select max(字段1),min(字段1),max(字段2),min(字段2),... from 表 where ....2. 分组求组内的最大、小
select 分组字段, max(字段1),min(字段1),max(字段2),min(字段2),... from 表 where .... group by 分组字段

解决方案 »

  1.   

    nono兄。不好意思,小弟的意思是对于这多个列的数据只求一个最大(小)值。
      

  2.   

    哎,我还真找不到 max(a,b) 这样的函数。那位大虾知道?我也学学。
    你干脆把几个最大值求出再比较吧。当然,已经不是一个语句了。呵呵
      

  3.   

    如果您的数据库不支持 MAX(COLUMN1,COLUMN2....COLUMNN) 函数
    你只能下载到客户机再搞
      

  4.   

    模拟max函数,
    select max(a1)
        from (
             select max(字段1) as a1
                  from 表
             union
             select max(字段2)   
                  from 表
             union 
             select max(字段3)   
                  from 表
             。
             。
             。
              ) as temptable
      

  5.   

    tanghuan 的算法要对表多次扫描,但确实达到题目的要求。
      

  6.   

    我想这个问题,无论用什么SQL语句,估计效率都同tanghuan说的一样,都需要多次扫描。如果提问者确实有这个需要,可另外建一个相关字段,写一个触发器来实现。
      

  7.   

    select top 1 * from (select a as a1 from tablename union select b from tablename... order by a1) as b
      

  8.   

    select greatest(max(1),max(2),max(3),...) from tablename;(oracle)
      

  9.   

    oicu的方法是对的,可惜我晚来了一步