一张表里有userid和paytime字段  我要找到续费>=3次的客户数 sql怎么写啊 select userid from tb group by userid having count(*) >= 3

解决方案 »

  1.   

    select userid from 一张表 group by userid having count(1)>=3
      

  2.   

    select userid,paytime,count(1) as cnt
    from ta
    group by userid,paytime
    having count(1) >= 3
      

  3.   

    select userid ,count(1) as cnt
    from ta
    group by userid 
    having count(1) >= 3嘿嘿,又晕了
      

  4.   

    第一次应该不算续费:
    select userid from 一张表 group by userid having count(1)>=4
      

  5.   

    请问各位 count(1)是什么意思呢 
      

  6.   

    你不是续一次费就有一条记录呀所以以userid分组所得的记录个数即count(1) or count(*) 续费次数 呀
      

  7.   

    select userid,paytime,1 from 一张表就是count这个1,可以count(*)、count(userid)、count(paytime),都一样。
      

  8.   

    哦  明白了  续一次就有一条记录    count(*)有几条就证明有几次缴费是把  谢谢热心的大虾们
      

  9.   

    不对 刚才说的count(*)是总的有几条记录就记几次  但怎么知道哪几次是同一个用户呢
      

  10.   

    说错,count(userid)不行,因为是根据userid分组的,count(userid)=1
      

  11.   

    可以的,count(distinct userid) 才等于1