小编Edg*_*gar的帖子

SQL:用连续索引替换不同的(数字)值

我有一个很大的表,需要将其导出到文本文件,因此可以将其读取到其他程序(R)中。为了避免编写/读取大文本文件的麻烦,我想通过用连续索引替换所有不同的数值来转换其中一列(所讨论的列是一个ID,它恰好是数字。设置不同的字符)。因此,我想用一个连续的索引替换此ID的所有不同值(将n不同的值替换1n)。

我的数据如下所示:

ID        SOMECHAR    SOMECOUNT
---------------------------------
1534561   FISH        2
7537281   CAT         14
4738920   CAT         3
7537281   BIRD        7
7537281   FISH        6
1534561   CAT         10
...       ...         ...
Run Code Online (Sandbox Code Playgroud)

我想写一个像这样的表:

ID        SOMECHAR    SOMECOUNT
---------------------------------
1         FISH        2
2         CAT         14
3         CAT         3
2         BIRD        7
2         FISH        6
1         CAT         10
...       ...         ...
Run Code Online (Sandbox Code Playgroud)

1)我可以期望节省大量空间吗?我大约有1亿行和1000万个不同的ID,原始ID为10位数字。

2)如何在SQL或PL / SQL中执行此操作?该REPLACE命令适用于字符串...我是否需要制作第二张表作为具有每个不同ID和连续索引的查找?如果是,如何获取索引?

sql oracle plsql

1
推荐指数
1
解决办法
74
查看次数

标签 统计

oracle ×1

plsql ×1

sql ×1