组的个数:
select count(distinct(欲分组的字短名)) from yourtable
每一个组取一个记录:
select 欲分组的字短名 from yourtable group by 欲分组的字短名

解决方案 »

  1.   

    select 某字段,每组个数=count(*) from 表 group by 某字段
      

  2.   

    楼主请看测试结果:
    select * from a
    -----------------------------------------
    id         name       
    ---------- ---------- 
    1          tom       
    2          mary      
    3          tom       
    4          tom       
    5          mary      
    6          jack      
    7          jack      
    8          mary      (所影响的行数为 8 行)根据(宝宝)所说:select count(distinct(name)) from a 
    -------------------------------------------------------            
    ----------- 
    3(所影响的行数为 1 行)
    至于你所说的每一个组取一个记录,如果有自增列,或者ID的话,是比较好搞的,不然可以用临时表来增加一自增列来进行处理
    select min(id),name from a  group by name 
    ------------------------------------------------------
               name       
    ---------- ---------- 
    6          jack      
    2          mary      
    1          tom       (所影响的行数为 3 行)
      

  3.   

    select count(*) 分组个数
    from table
    group by 字段