我有一个数据不佳的数据库。我正在寻找一种方法来将列中的值集减少到最低限度,而不会丢弃信息。
例子:
SELECT VALUE, COUNT(*) FROM TABLE GROUP BY VALUE;
VALUE |COUNT(*)
FOO FOO |50000
FOO.FOO |40000
FOO DOO |40
BAR BAR |60000
BAR.BAR |45000
BAR BAZ |30
...
我想找到可以向我显示数据正在收敛的组的查询(并帮助我对FOO FOO
<->FOO.FOO
和自动化FOO DOO
->FOO FOO
或做出明智的选择FOO.FOO
)
数据库是Oracle 10g。我知道UTL_MATCH.EDIT_DISTANCE
和UTL_MATCH.JARO_WINKLER
功能,但在这种情况下我无法使用它们。上一个GROUP BY
查询应该少于 10000 行。