一个表查询 统计次数的问题
id      name   cardid                     time                                    jinchu      这个是字段      表名   jc_table 
 1         111         111         2007-8-15   02:22:22                  进 
 2         222         222         2007-8-15   02:22:22                  出 
 3         111         111         2007-8-15   02:25:22                  出   
 我想的到结果是    
 id      name   cardid                  次数 
 1         111         111                           2 
 2         222         222                           1 
------解决方案--------------------select id , name, cardid,count(*) as 次数 
 from jc_table 
 group by  id , name, cardid
------解决方案--------------------select name ,cardid , count(*)  次数 from tb group by name ,cardid  
------解决方案--------------------select identity(int,1,1) as id,a.* into # from (select name,cardid,count(*) from  jc_table group by name,cardid) a   
 select * from # 
------解决方案--------------------  select name,cardid,count(*) as 次数,min(id) as id  
 from jc_table   
 group by name,cardid
------解决方案--------------------借用一下!   
 如果改成如下: 
 id  name cardid       time            status  这个是字段  表名 jc_table 
 1   111   111   2007-8-15 08:00:22      来 
 1   111   111   2007-8-15 13:300:22     迟到   
 2   222   222   2007-8-15 08:00:22      没来 
 2   222   222   2007-8-15 13:300:22     没来   
 3   111   111   2007-8-15 08:00:22      没来 
 3   333   333   2007-8-15 08:00:22      来   
 我想的到结果是  
 id  name cardid       status 
 1   111   111         来 
 2   222   222         没来 
 3   333   333         来   
 即 同一天的两次考勤中,有一次来了(包括迟到)算来,两次都没来的算没来! 
 表中记录一个月中,每人的考勤记录,要求统计每天每人的出勤情况。   
 请各位多多指点,谢谢楼住和各位!   
------解决方案--------------------修改一下!   
 如果改成如下: 
 id  name cardid       time            status  这个是字段  表名 jc_table 
 1   111   111   2007-8-15 08:00:22      来 
 1   111   111   2007-8-15 13:30:22     迟到   
 2   222   222   2007-8-15 08:00:22      没来 
 2   222   222   2007-8-15 13:30:22     没来   
 3   111   111   2007-8-15 08:00:22      没来 
 3   333   333   2007-8-15 13:30:22      来   
 我想的到结果是  
 id  name cardid       status 
 1   111   111         来 
 2   222   222         没来 
 3   333   333         来   
 即 同一天的两次考勤中,有一次来了(包括迟到)算来,两次都没来的算没来! 
 表中记录一个月中,每人的考勤记录,要求统计每天每人的出勤情况。   
 请各位多多指点,谢谢楼住和各位! 
------解决方案----------------------来个投机的写法.根据三种状态的音序... 
 --请注意,不是通用的 
 --测试数据 
 create table tb( 
 id int, 
 name varchar(10), 
 carid varchar(10), 
 time datetime, 
 status varchar(10)) 
 insert tb select 1, '111 ', '111 ', '2007-8-15 ', '来 ' 
 union all select 1, '111 ', '111 ', '2007-8-15 ', '迟到 '