日期                       姓名          签到            
2016-01-01          张三          y
2016-02-02          张三          y
2016-01-02          张三          y
2016-01-02          张三          y
2016-01-02          张三          y
2016-01-03          张三          y
2016-01-04          张三          y
2016-01-04          张三          y
2016-01-04          张三          y
2016-01-04          张三          y
2016-01-04          张三          y
2016-02-02          李白          y
2016-01-03          李白          y
2016-01-03          李白          y
求出2016-01 月份中签到最多次数是几次?
得出结果 1月份 张三签到最多的一天是5次,李白2次

解决方案 »

  1.   

    select 姓名, count(*) 次数
    from t 
    where ..
    group by 姓名
    order by 2 desc
      

  2.   

    GROUP BY  后面再加上日期字段
      

  3.   

    GROUP BY  后面再加上日期字段
    额可能我表达的不对,是这样的
    假如1月份 1号有5次,2号有6次,4号有7次。。求出 最大的那次,而不是求出2月份一共多少次? 
      

  4.   

    GROUP BY  后面再加上日期字段
    额可能我表达的不对,是这样的
    假如1月份 1号有5次,2号有6次,4号有7次。。求出 最大的那次,而不是求出2月份一共多少次? 嗯,就参考  2# 的提示就可以了;
      

  5.   

    with tt as(
    select 姓名,日期, count(*) CNT
    from t 
    where ..
    group by 姓名,日期)
    select 姓名,日期, max(CNT) from tt group by 姓名,日期;
      

  6.   

    select 姓名, count(*) 次数
    from t 
    where 1=1
    group by 姓名