用SQL语句查询Access数据库,如何自动生成一个记录行号的字段?

Chinaneu 2008-11-25 03:47:40
select rowno, field1,field2 from table1
field1,field2是表table1中的字段,我想通过上述语句生成一个带有行号的字段rowno,SQL如何如何写?
...全文
618 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chinaneu 2008-11-26
  • 打赏
  • 举报
回复
wufeng4552:
我把'%ABC%'改写成 ‘*ABC*’查询如下:
Keywords Rowno
123ABC65 1
6523ABCKJDFG 2
SADFSFABC 3
ABC1234 4

ACCESS中模糊查询“%"和“*”是一样的,为什么这里不行?
是不是ACCESS版本的问题?

非常感谢!
水族杰纶 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 Chinaneu 的回复:]
wufeng4552:
还是不行!
我把
SELECT Keywords ,(SELECT COUNT(*)+1 FROM (SELECT * FROM # WHERE Keywords like '%ABC%') A WHERE A.ID <B.ID) AS Rowno
FROM (SELECT * FROM # WHERE Keywords like '%ABC%') B
中的#换成我的表名T1还是查询不出来数据!
我的数据库是ACCESS,我是在office Access 2007中进行查询调试的。
[/Quote]
建議到access版問問
這裡寫法都是mssql的
Chinaneu 2008-11-26
  • 打赏
  • 举报
回复
wufeng4552:
还是不行!
我把
SELECT Keywords ,(SELECT COUNT(*)+1 FROM (SELECT * FROM # WHERE Keywords like '%ABC%') A WHERE A.ID <B.ID) AS Rowno
FROM (SELECT * FROM # WHERE Keywords like '%ABC%') B
中的#换成我的表名T1还是查询不出来数据!
我的数据库是ACCESS,我是在office Access 2007中进行查询调试的。
水族杰纶 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 Chinaneu 的回复:]
我的数据表格是这样的:
表名:T1
字段:ID 自动增长
Keywords 备注
....
数据
id keywords
----- --------
1 123ABC65
2 6523ABCKJDFG
3 32432
4 SADFSFABC
5 ABC1234
6 ASFDS
.....

SQL语句这样写的:
SELECT Keywords ,(SELECT COUNT(*)+1 FROM (SELECT * FROM T1 WHERE Keywords like '%ABC%') A WHERE A.ID <B.ID) AS Rowno
FROM (SELECT * FROM T1 WHERE Keywords lik…
[/Quote]
--沒問題
if object_id('tempdb..#')is not null drop table #
go
create table #(id int, keywords varchar(20))
----- --------
insert # select 1, '123ABC65'
insert # select 2 ,'6523ABCKJDFG'
insert # select 3 ,'32432'
insert # select 4 ,'SADFSFABC'
insert # select 5, 'ABC1234'
insert # select 6, 'ASFDS'
SELECT Keywords ,(SELECT COUNT(*)+1 FROM (SELECT * FROM # WHERE Keywords like '%ABC%') A WHERE A.ID <B.ID) AS Rowno
FROM (SELECT * FROM # WHERE Keywords like '%ABC%') B
/*Keywords Rowno
-------------------- -----------
123ABC65 1
6523ABCKJDFG 2
SADFSFABC 3
ABC1234 4*/
Chinaneu 2008-11-26
  • 打赏
  • 举报
回复
我的数据表格是这样的:
表名:T1
字段:ID 自动增长
Keywords 备注
....
数据
id keywords
----- --------
1 123ABC65
2 6523ABCKJDFG
3 32432
4 SADFSFABC
5 ABC1234
6 ASFDS
.....

SQL语句这样写的:
SELECT Keywords ,(SELECT COUNT(*)+1 FROM (SELECT * FROM T1 WHERE Keywords like '%ABC%') A WHERE A.ID<B.ID) AS Rowno
FROM (SELECT * FROM T1 WHERE Keywords like '%ABC%') B

查询结果为0记录!
水族杰纶 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 Chinaneu 的回复:]
引用 5 楼 wufeng4552 的回复:
SQL code--TRYSELECTA,(SELECTCOUNT(*)+1FROM(SELECT*FROM TB WHEREA>2)A WHEREA.A <B.A)FROM(SELECT*FROMTBWHEREA>2)B


怎么当WHERE A>2换成字符串形式 WHERE Keywords LIKE ‘%ABC%’却不行呢?
因为我的实际查询数据表时还是组合过滤查询。请问如何实现?
[/Quote]
應該不會
貼點你的數據~~
Chinaneu 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wufeng4552 的回复:]
SQL code--TRYSELECTA,(SELECTCOUNT(*)+1FROM(SELECT*FROM TB WHEREA>2)A WHEREA.A<B.A)FROM(SELECT*FROMTBWHEREA>2)B
[/Quote]

怎么当WHERE A>2换成字符串形式 WHERE Keywords LIKE ‘%ABC%’却不行呢?
因为我的实际查询数据表时还是组合过滤查询。请问如何实现?
水族杰纶 2008-11-26
  • 打赏
  • 举报
回复
--TRY

SELECT A,(SELECT COUNT(*)+1 FROM (SELECT * FROM TB WHERE A>2)A WHERE A.A<B.A) FROM (
SELECT * FROM TB WHERE A>2)B
Chinaneu 2008-11-26
  • 打赏
  • 举报
回复
等待!
Chinaneu 2008-11-25
  • 打赏
  • 举报
回复
但是我这样写
select a, (select count(*)+1 from tb where a<t.a) AS cnt from tb t
where a>2

结果为:
a cnt
3 3
100 4

并不是我想要的:
a cnt
3 1
100 2
水族杰纶 2008-11-25
  • 打赏
  • 举报
回复
if object_id('tb')is not null drop table tb
go
create table tb(a int )
insert tb select 1
insert tb select 3
insert tb select 0
insert tb select 100
select a,cnt=(select count(*)+1 from tb where a<t.a) from tb t order by cnt
/*a cnt
----------- -----------
0 1
1 2
3 3
100 4*/
dawugui 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 Chinaneu 的帖子:]
select rowno, field1,field2 from table1
field1,field2是表table1中的字段,我想通过上述语句生成一个带有行号的字段rowno,SQL如何如何写?
[/Quote]

select * , rowno = (select count(1) from table1 where field1 < t.field1 or (field1 = t.field1 and field1 < t.field2) ) + 1 from table1 t

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧