如何在Hive、MySQL、Oracle中分别添加自增序号

       最近公司业务涉及到了在相应库中添加自增序号这种操作,闲暇之余,整理如下,仅供参考~

一、Hive

       1、首先在Hive中建立一个测试表

create table xzw(id int, name string) clustered by (id) into 2 buckets stored as orc TBLPROPERTIES('transactional'='true');

       2、向测试表中插入几条数据

insert into table xzw values (1,'row1'),(1,'row2'),(1,'row3');

       3、使用row_number函数给Hive中的表添加自增序号

select row_number() over(order by 1) as id, a.* from test.xzw a;

       结果如下所示:

二、MySQL

       首先还是创建测试表并导入几条数据:

mysql> select * from xzw;
+------+------+
| id   | name |
+------+------+
|    1 | row1 |
|    1 | row2 |
|    1 | row3 |
+------+------+
3 rows in set (0.00 sec)

       我们使用下面的方法实现自增序号的添加:

mysql> set @rownum=0;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @rownum:=@rownum+1 AS rownum , t.* FROM xzw t;
+--------+------+------+
| rownum | id   | name |
+--------+------+------+
|      1 |    1 | row1 |
|      2 |    1 | row2 |
|      3 |    1 | row3 |
+--------+------+------+
3 rows in set (0.00 sec)

三、Oracle

       Oracle中我们可以直接使用rownum实现自增序号的添加,示例如下:

SELECT rownum,t.* FROM xzw t;

猜你喜欢

转载自blog.csdn.net/gdkyxy2013/article/details/105838971
今日推荐