SELECT 姓名, Count(姓名) AS 姓名之Count FROM A表 GROUP BY 姓名 ORDER BY Count(姓名) DESC;

解决方案 »

  1.   

    同意楼上。如果不加ORDER BY 子句,是按升序排列的。上面的语法适用于MS ACCESS, 其它RDBMS可能有更简练的形式
      

  2.   

    比如SQLSERVER, InterBase可用
    select name, count(name) cnt_name from A 
    group by name
    order by 2
      

  3.   

    比如SQLSERVER, InterBase可用
    select name, count(name) cnt_name from A 
    group by name
    order by 2 DESC   
      

  4.   

    >>Correction
    如果不加ORDER BY 子句,是按'姓名'升序排列的。
      

  5.   

    STAP(停!)我不是要生成只有姓名和次数的recordset,是要把A表中的数据全部放出来啊,表结构基本是这样的:姓名         年龄         性别          违纪内容      违纪日期
    不同的人可以有不止一次的违纪.
    表例:
    张三       20        男         迟到    2001.1.1
    李四       18        女         早退    2001.1.10
    王五       80        男         旷工    2001.1.20
    张三       20        男         迟到    2001.2.1
    张三       20        男         迟到    2001.2.10
    李四       18        女         早退    2001.2.20希望排序后输出:
    张三       20        男         迟到    2001.1.1
    张三       20        男         迟到    2001.2.1
    张三       20        男         迟到    2001.2.10
    李四       18        女         早退    2001.1.10
    李四       18        女         早退    2001.2.20
    王五       80        男         旷工    2001.1.20如何?
      

  6.   

    如果你的表有主键,(比如在你的例子中,“违纪日期'可看作为主健),那这样写:select 姓名,年龄,性别,违纪,时间,count(姓名) 
    from 表名
    group by 姓名,年龄,性别,违纪,时间
    order by count(姓名) desc
    如果无主键,那新选的表count(姓名)必存在一行大于1。
    建议你看看sql方面的书。
      

  7.   

    对不起,我搞错了你的需求:
    可以这样作:
    这样定义你的表:llmaster(name,age,xb,wj,date)
    select name,count(name) as name1
    into llsalve
    from llmaster
    group by name
    order by count(name) descselect b.name,a.age,a.xb,a.wj,a.date
    from llmaster a,llsalve b
    where a.name=b.name
    order by b.name1 desc
    可否满足你的要求?
      

  8.   

    TO EXTH:
    可否直接写在recordset里而不借助其他的表。
    就是把你的SQL语句写在一起?
      

  9.   

    今天算开了眼界了。
    看到一条SQL语句有全屏显示的记事本那么多。
      

  10.   

    >>glite你的表设计有问题。年龄和性别是 姓名 的属性 放在 员工 表里违纪表为: 违纪号(主健) 日期 员工 内容 说明
      

  11.   

    The following is tested in SQL SERVERselect A.* 
    from WJ A,(select XM, count(XM) cnt from WJ group by xm) as b
    where A.xm=B.xm
    order by b.cnt DESC
      

  12.   

    But it does not apply to MS ACCESS.You haven't mention which RDBMS you are using, which acutually matters
      

  13.   

    表设计的有问题, 容易导致冗余和不一致,但不影响本问题的解决,我前面的那个贴就使用glite的表结构,其中XM是姓名,WJ是 违纪表, 该查询已在SQL Server中实测, 但Access 不支持这么复杂的语句(或许是我不会)。