如何得到Select语句返回的结果集的行号?

百分百好牛 2004-12-27 12:41:29
Select A1,A2,A3 from view_ABC
如果有N行记录,能够显示如下:
A1 A2 A3 RowNum (RowNUm这一列是通过Select 语句自动添加上去的,显示的是记录的行号)
aaa df 香港 1
bbb fg 中国 2
ccc 5dg 台湾 3
...

不是通过客户端代码加上的Rownum,而是在Select语句时,自动生成的行号?
(Access 上如何实现,最好是通用的SQL语句,方便移植,谢谢)
...全文
325 点赞 收藏 12
写回复
12 条回复
百分百好牛 2005年01月18日
楼上兄弟的意思是说,如果没有唯一ID,是不可以加上行号的?
回复 点赞
changechange 2005年01月12日
再说一遍


那你在 UNION 的时候就应该考虑到唯一标识记录的要求.

select "T1" & str(id) as newid ,* from table1 union all select "T2" & str(id) as newid ,* from table2 union all ......
回复 点赞
百分百好牛 2005年01月11日
想法都是好的.但是现实有的时候,就是这个样子的.
没有唯一的表示顺序的ID... 该怎么办.

例如:
ItemDate Name Tel
2005-1-10 n1 1369***
2005-1-10 n1 25697
2005-1-11 n2 25697
2005-1-11 n3 25697
2005-1-11 n3 25697

我返回的数据集仅仅只是上面这三列.
现在我希望展示给用户的时候
ItemDate Name Tel row
2005-1-10 n1 1369*** 1
2005-1-10 n1 25697 2
2005-1-11 n2 25697 3
2005-1-11 n3 25697 4
2005-1-11 n3 25697 5

如何写SQL语句?

PS:其实,本来不用这么麻烦的,原来我在用PB的时候,用datawindow就自己可以生成.但现在不行了,只能通过sql语句来生成,就很烦......

谢谢大家的支持.
回复 点赞
changechange 2005年01月07日
不是表的问题.
我说了,可能是一个视图,这个视图有许多UNION,这个时候,多个表的ID都到一起了,如果按此时的id来排,结果肯定是不对的,只能按日期倒序,但日期有许多重复的,这样,上面兄弟说的方法就不恰当地了.
-------还是你的结构设计错误

那你在 UNION 的时候就应该考虑到唯一标识记录的要求.

select "T1" & str(id) as newid ,* from table1 union all select "T2" & str(id) as newid ,* from table2 union all ......

回复 点赞
百分百好牛 2005年01月07日
to: yesyesyes()
identity(int)是什么意思?能这么用?
回复 点赞
yesyesyes 2004年12月31日
在sqlserver中可以
Select A1,A2,A3,identity(int) into #t from view_ABC
select * from #t
在access中不知该怎么办
回复 点赞
百分百好牛 2004年12月31日
不是表的问题.
我说了,可能是一个视图,这个视图有许多UNION,这个时候,多个表的ID都到一起了,如果按此时的id来排,结果肯定是不对的,只能按日期倒序,但日期有许多重复的,这样,上面兄弟说的方法就不恰当地了.
回复 点赞
poonz 2004年12月31日
yesyesyes() (
那样能行吗?
回复 点赞
changechange 2004年12月27日
那是你的表结构设计错误,你没有一个唯一标识记录的字段。
回复 点赞
百分百好牛 2004年12月27日
非常感谢.
可是,我还有一个问题.
这个方法是在表已经存在有序列(并且值无重复)的情况下适用.
正常的表,id字段都是自增加型的,因此可以用来判断(如: a.[id]<b.[id]) ,但是,如果我根本就没有已经有序的列,该怎么做呢?我举个更清楚的例子吧.
ItemId ItemName Itemdate Type NO(最后生成的)
A 中国 2004-12-27 1 3
AB 台湾 2004-12-27 3 4
BC 美国 2004-12-25 5 2
25 英国 2004-12-25 2 1
我就是想先按ItemDate从小到大排序,再对Type由小到大排序(itemDate和Type都可能有重复) ,最后打上的序号在后面NO(我举的例子,Type字段不重复,可是我实际中要用的,却是重复的)
这样的话,该如何生成行号呢?
谢谢大侠
回复 点赞
changechange 2004年12月27日
关于此主题请参考:
《查询》关于行号问题如何用select查询解决?
http://access911.net/index.asp?u1=a&u2=72FAB21E13DC
回复 点赞
发动态
发帖子
Access
创建于2007-09-28

7015

社区成员

2.8w+

社区内容

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区公告
暂无公告