精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

2020-07-06 05:52:07易采站长站整理

      insert into hard values (‘A’,’4′,2)
      insert into hard values (‘A’,’6′,9)
      insert into hard values (‘B’,’1′,4)
      insert into hard values (‘B’,’2′,5)
      insert into hard values (‘B’,’3′,6)
      insert into hard values (‘C’,’3′,4)
      insert into hard values (‘C’,’6′,7)
      insert into hard values (‘C’,’2′,3) 
      要求查询出来的结果如下:
      qu co je
      ———– ———– —–
      A 6 9
      A 2 4
      B 3 6
      B 2 5
      C 6 7
      C 3 4 
      就是要按qu分组,每组中取je最大的前2位!!
      而且只能用一句sql语句!!!
      select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je)
    * 求删除重复记录的sql语句?
      怎样把具有相同字段的纪录删除,只留下一条。
      例如,表test里有id,name字段
      如果有name相同的记录 只留下一条,其余的删除。
      name的内容不定,相同的记录数不定。
      有没有这样的sql语句?
      ==============================
      A:一个完整的解决方案:
      将重复的记录记入temp1表:
      select [标志字段id],count(*) into temp1 from [表名]
      group by [标志字段id]
      having count(*)>1
      2、将不重复的记录记入temp1表:
      insert temp1 select [标志字段id],count(*) from [表名] group by [标志字段id] having count(*)=1
相关文章 大家在看