我的SQL很水很基础的东西写不了:表1:打卡流水号
empid ,int,工号
recdate,datetime,打卡时间--比如2009/1/22 11:33
recordid,int,打卡序号求员工号,每天最早打开时间,每天最晚打卡时间,
empid ,minrecdate,maxrecdate

解决方案 »

  1.   

    select empid ,min(recdate)minrecdate,max(recdate)maxrecdate from tb group by empid,convert(varchar(10),recdate,120)
      

  2.   

    select empid,max(punchtime),min(punchtime)from attendpunch where
    empid=351
    and mid(format(punchtime,'yyyy-MM-DD'),1,10)='2009-01-22'
    group by empid这样可以吗?
      

  3.   

    select empid,convert(char(10),recdate,120) as d,
    min(right(convert(char(19),recdate,120),8)) as mindate,
    max(right(convert(char(19),recdate,120),8)) as maxdate
    from ta
    group by empid,convert(char(10),recdate,120)
    order by 1,2
      

  4.   

    SELECT
        empid,
        MIN(recdate) AS minrecdate,
        MAX(recdate) AS maxrecdate
    FROM 表1
    GROUP BY 
        empid,
        CONVERT(VARCHAR(10),recdate,120)
      

  5.   


    select empid ,min(recdate) minrecdate,max(recdate) maxrecdate from tb group by empid,
    convert(varchar(10),recdate,120)
      

  6.   


    select empid ,max([datetime]) maxrecdate,min([datetime] ) minrecdate 
    from 表1 group by empid