如何得到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语句,方便移植,谢谢)
...全文
521 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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