数据库的一个表T中,有字段A和字段B,都是数字的,带小数点。          如果要查询 当字段A=(查询时输入的数字)的所有记录中,字段B的值最大的那条记录。或者字段B的值。          这样写是否正确。
                                        select * from A where B =num and C in (select max(C) from A)
                                        select T.C from A where B =num and C in (select max(C) from A)                    如果字段A满足查询条件,如果查询的记录有很多条,不加B字段值最大的条件,把所有记录中B字段的值求平均值输出又怎么实现,请大家多多指教,谢谢。
                                       select avg(c)  from A where B =num
 还有如果还增加一个条件字段D=某数字,语句怎么改
 
 

解决方案 »

  1.   

    如果要查询 当字段A=(查询时输入的数字)的所有记录中,字段B的值最大的那条记录。或者字段B的值。
    select * from  tb as t where 字段B=(select max(字段B) from tb where 字段A=t.字段A)
    and t.字段A=输入的数字
      

  2.   

     select avg(字段A),B字段 from A 
    where 字段A =num and 字段D=某数字
    group by B字段
      

  3.   

    谢谢楼上的MM,我标题的T,A,B对应帖子中的A,B,C,写的前后有点不一致。