SQL查询让一个字段自动编号
发布网友
发布时间:2022-04-07 22:02
我来回答
共7个回答
懂视网
时间:2022-04-08 02:24
查询时加序号
a:没有主键的情形:
Select identity(int,1,1) as
iid,* into #tmp from TableName
Select * from #tmp
Drop
table #tmp
b:有主键的情形:
Select (Select sum(1) from
TableName where KeyField <= a.KeyField) as iid,* from
TableName a
eg:
select (select sum(1) from user_Admin where
id<=a.id) as ID,id,displayName from user_Admin a order by a.ID asc
SELECT 序号= (SELECT COUNT(客户编号) FROM 客户 AS LiMing WHERE LiMing.客户编号<= Chang.客户编号), 客户编号, 公司名称 FROM 客户 AS Chang ORDER BY 1; GO
/* 方法二: 使用SQL Server 2005 独有的RANK() OVER () 语法*/ SELECT RANK() OVER (ORDER BY 客户编号 DESC) AS 序号, 客户编号, 公司名称 FROM 客户; GO
/* 方法三*/ SELECT 序号= COUNT(*), LiMing.客户编号, LiMing.公司名称 FROM 客户 AS LiMing, 客户AS Chang WHERE LiMing.客户编号>= Chang.客户编号 GROUP BY LiMing.客户编号, LiMing.公司名称 ORDER BY 序号; GO
/* 方法四 建立一个「自动编号」的字段,然后将数据新增至一个区域性暂存数据表, 然后由该区域性暂存数据表中,将数据选取出来,最后删除该区域性暂存数据表 */ SELECT 序号= IDENTITY(INT,1,1), 管道, 程序语言, 讲师, 资历 INTO #LiMing FROM 问券调查一; GO SELECT * FROM #LiMing; GO DROP TABLE #LiMing; GO
/* 方法五 使用 SQL Server 2005 独有的ROW_NUMBER() OVER () 语法 搭配 CTE (一般数据表表达式,就是 WITH 那段语法)选取序号2 ~ 4 的数据 */ WITH 排序后的图书 AS (SELECT ROW_NUMBER() OVER (ORDER BY 客户编号 DESC) AS 序号, 客户编号, 公司名称 FROM 客户) SELECT * FROM 排序后的图书 WHERE 序号 BETWEEN 2 AND 4; GO
------------分页使用---------------------------
SELECT RANK() OVER (ORDER BY id asc) AS no,* into #temp FROM Bbs_reply select * from #temp where no between 1 and 100 drop table #temp
sql查询时增加自动编号
标签:
热心网友
时间:2022-04-07 23:32
DB2/ Oracle /SQL server 2005以上可以用这个
select row_number() over(order by name), name, age
from student
其他数据库很难实现
热心网友
时间:2022-04-08 00:50
用plsql查,查完自动会增加id字段,刚好满足你的需求。
或者查完,存到excel中,用excel简单处理,几秒种就搞定。
热心网友
时间:2022-04-08 02:24
有3种方法,
1.用case的方法
举例:select case when name='张三' then 1 case when '李四' then 2 case when '王五' then 3 end as id,name,age from student order by id
2.用union的方法
举例:select '1' as id,name,age from student where name='张三' union
select '2' as id,name,age from student where name='李四' union
select '3' as id,name,age from student where name='王五' order by id
3.ROW_NUMBER() over(order by 列名) 这种方法只有sql2005才行
举例:select ROW_NUMBER() over(order by name) as ID,name,age from student
热心网友
时间:2022-04-08 04:16
select ROW_NUMBER() over(order by name) as ID,* from student
热心网友
时间:2022-04-08 06:24
select t.rownum,t.name,t.age from table
热心网友
时间:2022-04-08 08:48
select ROWNUM id,name,age from student
这样可好?
SQL查询让一个字段自动编号
select row_number() over(order by name), name, age from student 其他数据库很难实现
sql里用触发器实现自动编号
access的话,直接类型选为“自动编号”就可以了。--- 那么你可以这样,比如:表名为tab,你想要的列为bm(字符型),希望的格式是[A***]。那么给它加一个标识列id做为主键,再建立下面的触发器 CREATE TRIGGER [tab_tri1] ON [tab]FOR INSERT AS update [tab] set [bm]='A'+right('00000...
SQL数据库列自动生成编号?
1、用Truncate TRUNCATE TABLE name可以删除表内所有值并重置标识值 2、用DBCC CHECKIDENT DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",re...
关于SQL自动编号
直接用sql建表 create table 表名(字段名1 int identity(1,1) --这是从【一】开始每次自动加【一】的自动编号 字段名2 int identity(1,2) --这是从【一】开始每次自动加【二】的自动编号 字段名3 int identity(2,2) --这是从【二】开始每次自动加【二】的自动编号 )--- 以上...
sql语句如何自动生成编号
CREATE TABLE [表名] ([AUTOID] [int] IDENTITY (1, 1) NOT NULL ,[列名] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]GO AUTOID] [int] IDENTITY (1, 1) NOT NULL 就是自动增长的字段,自动加1.
SQL 自动编号
testRs(”ColName2”)=”ColName2”...testRs(”ColNameN”)=”ColNameN”testRs.Update 调用Update方法立即将内存中数据写入数据库中,下面这句是关键的 testRs.MoveLast 将记录移动最后一条 ID=testRs(”ID”)这样就可以立即得到刚才这个新记录的自动编号了 最后不要忘记关闭对象 testRs.Close...
SQL怎样自动生成表格的编号的代码!!高分悬赏!!急求!!
右键点订购表,选择“设计”,然后打开表设计视图,选择列名:订购编号,在下面显示列属性,找到标识规范,(是标识)修改成“是”,标识增量和标识种子修改成“1”,这样订购编号就会自增长了。如果是其他数据库,需要将这个字段设置成INT型“自动编号”。希望能够帮助到你。这句是对的,属性下面有个+号...
关于SQL自动编号
直接用sql建表 create table 表名(字段名1 int identity(1,1)--这是从【一】开始每次自动加【一】的自动编号 字段名2 int identity(1,2)--这是从【一】开始每次自动加【二】的自动编号 字段名3 int identity(2,2)--这是从【二】开始每次自动加【二】的自动编号 )--- 以上,希望对你有...
在sql 2005 中,怎样给每一行自动编号?
你能打开表的设计器么 或者用SQL命令执行次 alter table 表名 drop column 字段名 alter table 表名 add 字段名 int not null IDENTITY (1,1)
如何在SQL Sever中增加自动编号
可以把查询的结果放到一张临时表里面,然后添加一个自动编号的字段就可以了。