在查询结果中如何加一个序列号!
2005-12-15 13:58
204 查看
原贴:http://community.csdn.net/Expert/topic/3714/3714430.xml?temp=.0695917
请问能否在查询结果内加上一列值,该列值标识的是查询出的记录的行号?
如:把原来的查询结果:
aa bb cc
21 53 46
34 34 54
67 457 354
变为
line aa bb cc
1 21 53 46
2 34 34 54
3 67 457 354
--解法一:如果 aa+bb+cc 能唯一确定一条记录,则:
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
select line=(select sum(1) from 表 where aa+'_'+bb+'_'+cc<=a.aa+'_'+a.bb+'_'+a.cc)
,* from 表 a
drop table 表
--测试结果
(所影响的行数为 3 行)
line aa bb cc
----------- -------------------- -------------------- --------------------
1 21 53 46
2 34 34 54
3 67 457 354
(所影响的行数为 3 行)
--解法二,用临时表增加一个标识列字段
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
select identity(int,1,1) as line,* into #t from 表
select * from #t
--结果:
line aa bb cc
----------- -------------------- -------------------- --------------------
1 21 53 46
2 34 34 54
3 67 457 354
(所影响的行数为 3 行)
--解法三:在物理表中添加一个字段后,最后删除
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
alter table 表 add line int identity(1,1)
select * from 表
alter table 表 drop column line
drop table 表
--结果:
(所影响的行数为 3 行)
(所影响的行数为 3 行)
aa bb cc line
-------------------- -------------------- -------------------- -----------
21 53 46 1
34 34 54 2
67 457 354 3
(所影响的行数为 3 行)
请问能否在查询结果内加上一列值,该列值标识的是查询出的记录的行号?
如:把原来的查询结果:
aa bb cc
21 53 46
34 34 54
67 457 354
变为
line aa bb cc
1 21 53 46
2 34 34 54
3 67 457 354
--解法一:如果 aa+bb+cc 能唯一确定一条记录,则:
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
select line=(select sum(1) from 表 where aa+'_'+bb+'_'+cc<=a.aa+'_'+a.bb+'_'+a.cc)
,* from 表 a
drop table 表
--测试结果
(所影响的行数为 3 行)
line aa bb cc
----------- -------------------- -------------------- --------------------
1 21 53 46
2 34 34 54
3 67 457 354
(所影响的行数为 3 行)
--解法二,用临时表增加一个标识列字段
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
select identity(int,1,1) as line,* into #t from 表
select * from #t
--结果:
line aa bb cc
----------- -------------------- -------------------- --------------------
1 21 53 46
2 34 34 54
3 67 457 354
(所影响的行数为 3 行)
--解法三:在物理表中添加一个字段后,最后删除
create table 表(aa varchar(20), bb varchar(20), cc varchar(20) )
insert 表 select '21', '53', '46'
union all select '34', '34', '54'
union all select '67', '457', '354'
go
alter table 表 add line int identity(1,1)
select * from 表
alter table 表 drop column line
drop table 表
--结果:
(所影响的行数为 3 行)
(所影响的行数为 3 行)
aa bb cc line
-------------------- -------------------- -------------------- -----------
21 53 46 1
34 34 54 2
67 457 354 3
(所影响的行数为 3 行)
相关文章推荐
- 在查询结果中如何加一个序列号!
- 在查询结果中如何加一个序列号!
- 在查询结果中如何加一个序列号!
- sql2000如何将查询结果放入一张新建的表格
- 如何将查询结果显示在选择屏幕上的代码示例
- 如何合并?想在Linq查询的结果添加另一信息
- 如何查看Navicat 查询结果
- Sql Server 中如何循环遍历查询结果
- nutch的查询结果页面search.jsp如何实现翻页功能
- 如何让SELECT 查询结果额外增加自动递增序号_SQL技巧
- mysql--mysql简单实现查询结果添加序列号的方法
- Android服务器端如何遍历MySql查询结果
- SQLserver2000中 针对查询结果中存在不固定字段时 如何排除固定字段只查询不固定字段
- Struts中如何实现查询结果分页显示
- 如何分页显示数据库查询结果?
- 如何将SQL Developer中的查询结果导出为Excel表格
- 小小编程之我见(2)---jsp页面如何对进行所查询出的结果再分页
- 如何对一个RichEdit查询,并把查询出来的结果放到另一个RichEdit里,
- win7系统如何查看硬盘序列号?win7系统查询电脑硬盘序列号的三种方法图文教程
- oracle SQL 如何显示group by 聚合结果count 为0的查询