㈠ sqlserver2005中,我怎么在显示结果中增加一个伪列,列内容为记录在结果中的序号。
方法很多种:
因为你用的是2005 所以可以直接使用
select * ,rn=row_number() over(order by 你的排序列) from ....;
如果没有排序的列 可以使用 order by getdate()
还有一种经常使用的方法就是子查询...
比如按id 排序
select *,rn=(select count(*) from tb where id>=k.id)
from tb k;
可以参看这个文章 对你有帮助
看里面的排名函数:http://blog.csdn.net/feixianxxx/archive/2009/10/23/4720346.aspx
㈡ SQL Server 2008怎样添加自增列实现自增序号
一、通过T-SQL代码.
alter table 表名 add 列名 int IDENTITY(1,1) NOT NULL
这里用到了identity关键字:indentity(a,b),a b均为正整数,a表示开始数,b表示步长,indentity(1,1)就代表从1开始,每次增加1
㈢ sqlserver怎么给已有表的已有字段添加自动编号
直接添加就可以了,用设计器或者语句,前面的所有的列都会添加上编号
--添加C列从100开始自增每次+1
(100,1)notnull
需要注意的是,如果表没有主键,则会按照堆的顺序来进行编号,如果有主键则会按照主键的顺序来进行编号。建议对堆表先建立PK后再添加自增列,避免后期自增的顺序不一致
㈣ 如何用sqlserver语句按一列的内容分组后,再更新序号统一排序
select编号,row_number()over(partitionby编号orderby编号)行号from表名
这样吗?
㈤ sqlserver 结果集 使用列序号
select row_number() over (order by 主键ID) as no,num1,num2,num1+num2
from 表名
order by 主键ID
㈥ (Sqlserver)将在查询结果插入新表中的时候添加一个自动增长列么 SQL语句怎么写
假设表有主键ID列,以下生成比原表多一个序号列并按ID号大小填充的新表。
select 序号=(select count(1) from tablename a where a.id>=tablename.id),* from tablename
㈦ SQLSERVER 自动增长列根据时间更新
正好前几天干过这事儿。
首先需要定义一张流水号表:
--serialNumber是流水号表,每个type每个prefix只有一条记录,保存最新的流水号
createtableserialNumber([type]varchar(20),[prefix]varchar(20),SNint);
其次定义一个存储过程,根据指定的type和prefix,获得最新的流水号:
createprocereproc_getSN(@typevarchar(20),@prefixvarchar(20),@snintoutput)
as
begin
;
begintran
--更新流水号
updateserialNumbersetSN=SN+1where[type]=@typeand[prefix]=@prefix;
if@@rowcount=0
begin
insertintoserialNumber([type],[prefix],[SN])values(@type,@prefix,1);
select@sn=1;--这里不要selectfromserialNumber了,否则会死锁
end
else
begin
select@sn=isnull(SN,0)fromserialNumberwhere[type]=@typeand[prefix]=@prefix;
end
commit;
;
end
需要获取流水号的时候,像这样:
--[order]是订单表,生成订单号的规则是'C'+8位日期+4位流水号
declare@snint;
execproc_getSN'contract','C20140105',@snoutput;
insertinto[order]
select'C20140105'+right('0000'+cast(@snasvarchar),4),'contract',...
㈧ sqlserver序号排序问题
select 姓名,id as 序号,项目 from 表 order by 姓名 desc,id asc;
㈨ delphi sqlserver 序号问题
序号连续没有任何意义,唯一才有意义。
如果你铁了心要保持连续,(纯碎是形式)可以这样做:
Select Id from table order by id
把所有id读取到本地后,通过程序判断:
因为查询是,id是排序的,所以只需要看下一个id是否等于上一个id+1,如果不等于,返回这个id,你就知道应该设置新插入的id是什么了。
这样做有意义吗?
㈩ sqlserver 自增序列问题
这个只需要在表Cms_Entity设置一下Entity_id的属性就可以.
SQL企业管理器,打开表--->设计表--->选择Entity_id(唯一)--->下面有个列(标识),选择是,这样插入数据时它就会自动增.