1.一个表(表a),里面有十条数据,这十条数据都是相同的,现要删除其中九条。请问怎么写sql语句?2.一个表,表名为table,里面有n条数据。例如下表:
id   name  data
1    a      123
2    b      123
...
...
23   a      234
...
32   b      345
....
....
name为a的数据共有n条,name为b的数据共有m条,请问怎么写sql语句使查询a时,能够统计a的数量?
结果类似于: 
name   count
a       n

解决方案 »

  1.   

    1.select top 1 * into # from a
      go
      truncate table a
      go
      insert a select * from #
     或者
      select distinct * into tb_tmp from a
      go
      drop table a
      go
      exec sp_rename 'tb_tmp','a'
    2.select name,[count]=count(*) from a group by name
      或者
      select name,[count]=(select count(*) from a where name=b.name) from a b
      

  2.   

    oh,my god,I have never seen so easy case!
      

  3.   

    1、--方法1:set rowcount 9
    delete 表a
    --方法2:delete T 
    from (select top 9 * from 表A) as T
      

  4.   

    2、select name,count(*) as [count] 
    from 表a 
    where name ='a'
    group by name
      

  5.   

    第一题:
    declare @i int
    set @i=1
    while(@i<9)
    begin
      delete from dbo.表 where id=@i
      set @i=@i+1
    end第二题:
    select count(*) as count
    from dbo.table
    where name='a'
    group by name