表中 有类别这个字段,要求每类取5条,这咋写??谢谢~!

解决方案 »

  1.   

    这个有两种方法
      一 增加一个type 的字段  你可以按照你的数据要求把每个类的前五条数据 update type =1 你在查询 where type=1
      二 使用 union 
      

  2.   

    一、我update的时候怎么检索??先一类类的取出来再UPDATE?,也很麻烦
    二、用union?类别特别多的话就一次次Union?
      

  3.   

    ID  TypeID  Name
    1   1       测试1
    2   1       测试2
    3   2       测试3
    4   2       测试3我想要的结果是
    ID  TypeID  Name
    1   1       测试1
    3   2       测试3
    当然,数据和类别不只是这些,会很多
      

  4.   

    select a.typeid,a.Name from tt a
    left join tt b
    on a.typeid=b.typeid and a.id>=b.id
    group by a.typeid,a.Name
    having count(b.id)<=2上述可以取每一组任意记录条数,只取一条简单select a.* from tt a
    left join (select TypeId,min(id) as mi from tt group by TypeID) b
    on a.TypeId=b.TypeId and a.id=b.mi