id  kind_id kind_name time
1  2         A       2007-8-3
2  2         A       2007-8-4
3  1         B       2007-8-6想按照kind_id分组来得到多少条,但还需要原有的所有字段
 select count(kind_id) as num, kind_id,kind_name form 表名 group by kind_id,kind_name
可以实现得到多少条 但是得不到其他的time字段,因为time内容不一样

解决方案 »

  1.   

    select id,kind_id,kind_name,time,countkind=(select count(*) from tablename where kind_id=a.kind_id) from tablename a
      

  2.   

    什么意思
    你竟然是分组统计了,TIME你是想怎样?
    要显示就把TIME也分组
      

  3.   

    select count(kind_id) as num, kind_id,kind_name max(time) form 表名 group by kind_id,kind_name 
    这样?
      

  4.   

    SELECT *,NUM FROM TB A
    LEFT JOIN (SELECT kind_id,NUM=COUNT(1) FROM TB GROUP BY kind_id )B
     ON A.kind_id=B.kind_id
      

  5.   

    time的值不一样 所以分组了 num得不到预期的值
    变成都是1
      

  6.   

    楼主把意思说清楚,time你不是没要求统计吗
      

  7.   

    select * , cnt = (select count(1) from tb where kind_id = t.kind_id) from tb t