例如:在一张表中,有很多记录,其中有些记录多次出现,在这些记录中,以记录出现次数为序,从大到小依次将所有记录(重复记录只出现一次)列出来

解决方案 »

  1.   

    实际上做的就是一个用户通讯记录的数据统计,比如说有一万个手机用户,我在监控软件里面记录他们的通话时间,然后做统计,看通话用户里面,他们这段时间的通讯次数是多少,然后根据次数的多少,按照从多到少的顺序排列下来,供参考分析
    name         time
    aaa        2007-2-10 12:10:10
    bbb        2007-2-10 12 :11:22
    aaa        2007-2-10  12:12:23
    ddd        2007-2-10  12:13:55
    bbb        2007-2-10  12:15:34
    ccc        2007-2-10   12:15:35
    aaa        2007-2-10  12:16:20
    bbb        2007-2-10  12:17:20
    aaa        2007-2-10  12:18:20
    ...           ...
    统计结果:
    name    count
    aaa       4
    bbb       3
    ddd       1
    ccc       1
    ...       ...
      

  2.   

    sql server里:
    select a.name, a.count from a

      select name, count(name) as count from tbl
      group by name
    )a
    order by a.count desc
    不一定对,可能要调一调~~~~
      

  3.   

    Select Count(A.Name) as CommCount, A.Name, A.Time from Table1 group by A.Name
    order by CommCount
      

  4.   

    如果你只要取消查询出来的重复问题,就是使用distinct 如:select distinct * from table
      

  5.   

    select distinct a.name , a.count from (select name,count(*) as count from table1 group by name ) a order by a.count desc就是先根据名称分组后根据次数降序排序