postgresql 中怎样在select中直接得到行号

大连豆包 2007-01-16 11:29:34
就像oracle中的rowid,谢谢
...全文
914 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hitzhang 2009-10-23
  • 打赏
  • 举报
回复

test=# create temp sequence test_seq;
CREATE SEQUENCE
test=# select nextval('test_seq'), name from test;
nextval | name
---------+------------
1 | name text
2 | zms text
3 | smz text
4 | name text
5 | zms text
6 | smz text
7 | name text
8 | zms text
9 | smz text
nianzhang747 2009-10-22
  • 打赏
  • 举报
回复
oracle的rowid有不同于rownum

它是记录记录的实际内存地址

nianzhang747 2009-10-22
  • 打赏
  • 举报
回复
mysql中没有类似oracle的rownum

postgresql 不是很清楚

你可以
mysql> select * from b;
+-------+------+
| test | full |
+-------+------+
| test1 | 50 |
| test2 | 70 |
| test3 | 100 |
+-------+------+
3 rows in set (0.00 sec)

mysql> select count(*) as rownum,b.* from b left join b bb on b.test>=bb.test g
roup by b.test;
+--------+-------+------+
| rownum | test | full |
+--------+-------+------+
| 1 | test1 | 50 |
| 2 | test2 | 70 |
| 3 | test3 | 100 |
+--------+-------+------+
3 rows in set (0.00 sec)
magecarby 2009-10-22
  • 打赏
  • 举报
回复
关注,
magecarby 2009-10-21
  • 打赏
  • 举报
回复
关注
奋斗哥 2008-04-23
  • 打赏
  • 举报
回复
用序列。。
yifuzhiming 2008-03-27
  • 打赏
  • 举报
回复
i++
DAMINGSHANG 2008-03-26
  • 打赏
  • 举报
回复
yueliangdao0608兄,请问你说的临时表是什么?是View么?
我也很想学习一下,给个链接也好啊,先谢过了
懒得去死 2008-03-24
  • 打赏
  • 举报
回复
用个临时表,建立一个序列。就可以了 。
xbt746 2008-03-21
  • 打赏
  • 举报
回复
有个OID

954

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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