最近公司业务涉及到了在相应库中添加自增序号这种操作,闲暇之余,整理如下,仅供参考~
一、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;