`
mx122723
  • 浏览: 10967 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

如何在Select语句中增加自增字段

 
阅读更多

不能改字段,要在select语句中实现第一列是自增的,也就是原字段不变,只是在查询结果中加一列自增列。用select来做。
1:
select identity(int,1,1) as iid,* into #tmp from 表
select * from #tmp
2: 如果有关键字段
select (select sum(1) where keyfield <= a.keyfield) as iid,* from 表 a
select
1+isnull((select count(*) from tablename
where col1<a.col1
or (col1=a.col1 and col2<a.col2)
or (col1=a.col1 and col2=a.col2 and col3<a.col3)
...
),0) as 序号
,*
from tablename
order by col1,col2,...

注意:col1,col2,...排同一个序号,如果要不同序号,只能用楼上的方法
select (select sum(1) from 你的表 where 你的自增字段<=a.你的自增字段) num,* from 你的自增字段 a
有主键的可以直接用:

select 自增列=(select sum(1) from 表 where 主键<=a.主键),* from 表 a


没有主键的需要用临时表:
select 自增列=identity(int,1,1),* into #tb from 表
select * from #tb
drop table #tb

 

分享到:
评论

相关推荐

    常用数据库的自增字段创建方法汇总

    在数据库设计中,自增字段(自动增长字段)是非常常见的一种需求。它主要用于为主键提供唯一且连续递增的标识符,便于记录数据条目的唯一性。不同的数据库系统支持不同的自增字段创建方式。本文将详细介绍几种主流...

    自增字段的SQL语句解决方案

    在数据库设计与管理中,自增字段是一个非常实用的功能,它能够自动为每一条新记录分配一个唯一的、连续的整数值。这对于需要唯一标识符(例如主键)的场景特别有用。本文将详细介绍自增字段在SQL中的实现方法及相关...

    Oracle9i中建立自增字段的最新办法

    在Oracle数据库系统中,与许多其他关系型数据库如MySQL或SQL Server不同,Oracle并没有内置的自增字段(Identity Column)特性。但是,Oracle9i及后续版本提供了Sequence和Trigger机制,使得开发者可以通过这两种...

    oracle里建一个自增字段示例

    在Oracle数据库中,自增字段通常通过序列(Sequence)和触发器(Trigger)来实现。本篇文章将详细解释如何创建一个自增字段,并通过具体的步骤和代码示例来进行说明。 #### 序列(Sequence) 序列是一种数据库对象...

    Oracle使用序列创建自增字段

    在数据库设计与开发中,自增字段是十分常见的需求之一,尤其是在需要为每一行记录自动分配一个唯一编号的情况下。Oracle 数据库通过序列(Sequence)这一特性支持自增字段的实现。本文将详细介绍如何利用 Oracle 的...

    Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    * 一次 NEXTVAL 会增加一次 SEQUENCE 的值,所以如果你在同一个语句里面使用多个 NEXTVAL,其值就是不一样的。 * 如果指定 CACHE 值,ORACLE 就可以预先在内存里面放置一些 SEQUENCE,这样存取的快些。但是,使用 ...

    Oracle 实现类似SQL Server中自增字段的一个办法

    在Oracle数据库系统中,与SQL Server的自增字段(Identity column)类似的功能是通过序列(Sequence)和触发器(Trigger)来实现的。这是因为Oracle本身并没有内置的自增字段特性。下面详细介绍如何在Oracle中创建并...

    Oracle创建自增字段sequence

    在Oracle数据库中,由于没有像SQL Server那样内置的自增字段功能,我们通常需要通过创建序列(SEQUENCE)和触发器(TRIGGER)来模拟这一效果。以下将详细讲解如何在Oracle中创建自增字段sequence,并讨论其相关知识...

    创建oracle数据库中表的主键和自增

    - 使用触发器创建语句创建一个触发器,该触发器会在插入新记录到表之前为自增字段设置值。 4. **插入数据**: - 在表中插入新记录时,无需指定自增字段的值,触发器会自动为其分配序列的下一个值。 5. **验证**...

    oracle中设置自增主键参考

    在Oracle数据库中,自增主键是一种非常实用且常见的设计模式,它能够确保表中的每一条记录都拥有一个唯一的标识符,这对于数据的管理和查询非常重要。本文将详细介绍如何在Oracle中实现自增主键的功能。 #### 创建...

    ORACLE自增主键设置方法

    在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 #### 一、创建序列(Sequence...

    mybatis自增主键文档

    MyBatis在处理MySQL时,只需在插入语句中忽略主键字段即可,如下所示: ```xml &lt;sql id='TABLE_NAME'&gt;TEST_USER insert into &lt;include refid="TABLE_NAME" /&gt; (NAME,AGE) values (#{name}, #{age}) ``` ...

    Oracle插入数据时获取自增ID

    这种方式可以直接在插入语句中调用`seq_atable.NEXTVAL`来获取下一个序列值,并将其作为ID字段的值。 2. **使用触发器自动插入序列值**: ```sql CREATE OR REPLACE TRIGGER trg_atable BEFORE INSERT ON a...

    mybatis获取自增主键的值

    在数据库设计中,自增主键是一种常见的策略,它用于为表中的每一行生成一个唯一的标识符。在MyBatis这个流行的Java持久层框架中,处理自增主键的值通常涉及到插入数据后如何获取新生成的ID。下面将详细阐述MyBatis...

    Mysql面试题主键自增

    2. 自增起始值:默认情况下,自增字段的初始值是1,但可以通过ALTER TABLE语句或CREATE TABLE语句来设置自定义的起始值。 3. 自增步长:默认情况下,每次自增1,也可以自定义增加的步长,如每次增加2或其他数值。 4....

    oracle数据库字段值自动加1

    Oracle 数据库中,字段值自动加 1 是一个常见的需求,特别是在数据插入时需要自动生成唯一标识符的情况下。下面将详细介绍如何实现 Oracle 数据库字段值自动加 1。 首先,需要创建一个表来存储数据。在本示例中,...

    oracle实现属性的自增

    例如,在插入数据时触发触发器,触发器可以将序列生成的数字插入到相应的字段中。 知识点五: 建立触发器 建立触发器的语法是:CREATE OR REPLACE TRIGGER 触发器名称 BEFORE/AFTER 事件 ON 表名 FOR EACH ROW ...

    sql获得自动增加字段的下一个编号,不是max(id)+1

    在SQL中,获取自动增加字段的下一个编号是一个常见的需求,尤其是在处理数据库表的自增主键时。传统的做法是通过查询当前表中的最大ID值(`MAX(id)`),然后在此基础上加1来得到下一个可用的ID。然而这种方法存在...

    在oracle数据库里创建自增ID字段的步骤

    在Oracle数据库中,创建自增ID字段并非像其他数据库(如MySQL或SQL Server)那样简单直接,因为Oracle没有内置的自增标识符功能。但是,通过使用序列(Sequences)和触发器(Triggers),我们可以模拟这个过程。下面...

Global site tag (gtag.js) - Google Analytics