表A:
fk_id yw_id fk shoukuanren
16 32 50 总经理    
15 32 70 总经理    
14 32 80 总经理    
13 41 -40 总经理    
12 41 -20 总经理    
11 40 0 总经理    
10 41 0 总经理    
9 41 50 总经理    
8 40 100 总经理    
7 32 100 总经理    
6 32 153 总经理    
5 33 0 总经理    
4 28 0 总经理    
3 31 70 总经理    
2 31 200 总经理    
1 31 198 总经理    
我想得到的是:
fk_id yw_id fk shoukuanren
16 32 50 总经理    
13 41 -40 总经理    
11 40 0 总经理    
5 33 0 总经理    
4 28 0 总经理    
3 31 70 总经理    
我要查询的是yw_id唯一,fk_id最大。fk,shoukuanren都保留着

解决方案 »

  1.   

    表A:
    fk_id-------yw_id ---fk----------shoukuanren
    16-----------32-----50 ---------总经理    
    15-----------32-----70--------  总经理    
    14-----------32-----80----------总经理    
    13-----------41-----40----------总经理    
    12-----------41-----20----------总经理    
    11-----------40-----0-----------总经理    
    10-----------41-----0-----------总经理    
    9------------41-----50----------总经理    
    8------------40-----100---------总经理    
    7------------32-----100---------总经理    
    6------------32-----153---------总经理    
    5------------33-----0-----------总经理    
    4------------28-----0-----------总经理    
    3------------31-----70----------总经理    
    2------------31-----200---------总经理    
    1------------31-----198---------总经理  
    fk_id-----yw_id----fk------shoukuanren
    16--------32-------50------总经理    
    13--------41-------40------总经理    
    11--------40-------0-------总经理    
    5---------33-------0-------总经理    
    4---------28-------0-------总经理    
    3---------31-------70------总经理
      

  2.   

    SELECT MAX(fk_id) as fk_id, yw_id, fk, shoukuanren FROM A GROUP BY yw_id
      

  3.   

    列 'A.fk' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
      

  4.   


    select b.fk_id,b.yw_id,A.fk, shoukuanren from (select max(fk_id) as fk_id, yw_id from A group by yw_id) b
    left join A on A.fk_id=  b.fk_id and A.yw_id = b.yw_id 
    order by b.fk_id desc
    ok!
      

  5.   

    fk列跟GROUP没关啊,我在MySQL Query Browser上试过了没问题的。