各位好:
   请问如何实现 group by 多个字段,进行求最大值,如:select telnumber,max(postcode),max(createdate)
from custinfo
group by telnumber;这样可以吗?

解决方案 »

  1.   

    你写的这个是可以的,因为你写的这只是一个分组。
    你说的不是很明确。
    在分组里max函数可以多个,只不过求的是那一组中最大的。
      

  2.   


    可以的。理论上可行,只是你的postcode,createdate字段需要是number类型或者否点型。
      

  3.   

    可以的,还可以用over (partition by ...分析函数
      

  4.   

    select telnumber,mobile,max(postcode),max(createdate) 
    from custinfo 
    group by telnumber;这样可以?
    如果一个telnumber是对应有多个postcode,也对应有多个createdate,那上面的语句应该是先找出同一个telnumber(号码)的最大的postcode后,再去找最大的createdate吧?
      

  5.   

    你这样写可能会有问题,如果telnumber有多个值的话,那么group by后查询出来就有多条数据.而每条数据的telnumber都对应一个max(postcode)和max(createdate).

    telnumber postcode createdate
    A         1        2  
    B         2        1那么你的sql结果就会这样: 
    A  2  2
    B  2  2
      

  6.   

    这样看楼主的sql代码是没问题的,但不知是否符合你自己的要求,如果输出结果有问题再把问题贴出来,这样大家才能更好的帮你分析问题!