ID   Name    DateTime
1    aa      2007.5.1
1    aa      2007.5.2
2    bb      2007.5.5
2    bb      2007.5.5
2    bb      2007.5.5
3    cc      2007.5.6
如果我想把本周的数据选出来,我想按记录的条数排行
得到
2 bb
1 aa
3 cc
这样的结果
请问怎么实现呢如果能显示记录条数
2 bb 3条
1 aa 2条
3 cc 1条
那更好

解决方案 »

  1.   

    select id,name,sum(1) as 记录条数 from table1 group by id,name order by 记录条数 desc
      

  2.   

    select id,name,cast(sum(1) as varchar(20))+'条' as 记录条数 
    from table1 
    group by id,name 
    order by 记录条数 desc
      

  3.   

    select id,name,count(*) as 记录数 
    from 表名
    group by id,name 
    order by count(*) desc
      

  4.   

    select id,name,cast(count(*) as varchar(100)) + '条' as 记录条数 
    from 表名
    group by id,name 
    order by count(*) desc
      

  5.   

    count(*)会出错的,不止id和name两列.
      

  6.   

    sum()和count()都是聚合函数。
      

  7.   

    没有问题。
    create table 表名(ID int,  Name varchar(100),   [DateTime] datetime)
    insert into 表名
    select 1,'aa','2007.5.1'  union all
    select 1,'aa','2007.5.2'  union all
    select 2,'bb','2007.5.5'  union all
    select 2,'bb','2007.5.5'  union all
    select 2,'bb','2007.5.5'  union all
    select 3,'cc','2007.5.6'select id,name,cast(count(*) as varchar(100)) + '条' as 记录条数 
    from 表名
    group by id,name 
    order by count(*) desc
    drop table 表名
    /*
    2 bb 3条
    1 aa 2条
    3 cc 1条*/
      

  8.   

    恩 两位大侠厉害
    继续请教 根据我上面的DateTime字段 怎么select出
    今日    本周    本月
    的数据呢
    本周
    select * from tb where DateDiff(wk, DateTimCol, GetDate()) = 0
    本月
    select * from tb where month(DateTimCol) = month(getdate())
    这样实现写好吗?
    那取今天的数据呢
      

  9.   

    十分感谢sdhylj(青锋-SS) and wangtiecheng(不知不为过,不学就是错!)