网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > SQL语法 > 正文

SQL与ACCESS、EXCEL的导入导出

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
from tablename order by columnname -- 将top m笔插入

  set rowcount n

  select * from 表变量 order by columnname desc

  2.

  select top n * from (select top m * from tablename order by columnname) a order by columnname desc

  3.如果tablename里没有其他identity列,那么:

  select identity(int) id0,* into #temp from tablename

  取n到m条的语句为:

  select * from #temp where id0 >=n and id0 <= m

  如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的DB中间的select into/bulkcopy属性没有打开要先执行:

  exec sp_dboption 你的DB名字,'select into/bulkcopy',true

  4.如果表里有identity属性,那么简单:

  select * from tablename where identitycol between n and m

  * 如何删除一个表中重复的记录?

  create table a_dist(id int,name varchar(20))

  insert into a_dist values(1,'abc')

  insert into a_dist values(1,'abc')

  insert into a_dist values(1,'abc')

  insert into a_dist values(1,'abc')

  exec up_distinct 'a_dist','id'

  select * from a_dist

  create procedure up_distinct(@t_name varchar(30),@f_key varchar(30))

  --f_key表示是分组字段﹐即主键字段

  as

  begin

  declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer

  select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1'

  exec(@sql)

  open cur_rows

  fetch cur_rows into @id,@max

  while @@fetch_status=0

  begin

  select @max = @max -1

  set rowcount @max

  select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key

  if @type=56

  select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id

  if @type=167

  select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +''''

  exec(@sql)

  fetch cur_rows into @id,@max

  end

  close cur_rows

  deallocate cur_rows

  set rowcount 0

  end

  select * from systypes

  select * from syscolumns where id = object_id('a_dist')

  * 查询数据的最大排序问题(只能用一条语句写)

  CREATE TABLE hard (qu char (11) ,co char (11) ,je numeric(3, 0))

  insert into hard values ('A','1',3)

  insert into hard values ('A','2',4)

  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语句?

  怎样把具有相同字段的纪录删除,只留下一条。

  例如,表

  • 上一篇资讯: sql知识点总结
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师