select * from t where id in(
select max(id)  from t
group by name)

解决方案 »

  1.   

    select * from t where id in(
    select max(id) from t
    group by name)
      

  2.   

    select * from t as a 
    where totlepay=(select max(totlepay) from  t as b where a.name=b.name)
      

  3.   

    唉没有说清楚,上面写法都有点问题
    如:
    8小张    10    35
    10小张    1     26
    我是要每个相同姓名后的最后一个记录:如,他们都是最后一个记录:
    idname     pay    totlepay
    3小李    50    100 
    6小王    3    15
    10小张    1     26
      

  4.   

    windindance(风舞轻扬·白首为功名) ( )  
    谢谢,你的应该对了,唉, 还得给你们多多学习啊, 我就怎么想不到从 ID 号下手呢,哈哈,
      

  5.   

    你的表设计得不好
    在这里,没办法把你的idname 分割
    你要是把id跟name 分开
    用一楼的语句就OK了
      

  6.   

    还有,由于有负数,不能用MAX(totlepay)
    MAX(ID)只能在确保最大值为最后一个的时候才能用要不然就的加MAX(totlepay)是否等于MAX(ID)的判断
      

  7.   

    select * from t where totlepay in (select SUM(pay) from t group by name)
    这样最安全