需要帮助在 SQL 数据库中查找相似值。表结构如:
id | item_id_nm | height | width | length | weight
----------------------------------------------------------------------------------
1 | 00000000001 | 1.0 | 1.0 | 1.0 | 1.0
2 | 00000000001 | 1.1 | 1.0 | 0.9 | 1.1
3 | 00000000001 | 2.0 | 1.0 | 1.0 | 1.0
4 | 00000000002 | 1.0 | 1.0 | 1.0 | 1.0
5 | 00000000002 | 1.0 | 1.1 | 1.1 | 1.0
6 | 00000000002 | 1.0 | 1.0 | 1.0 | 2.0
id 显然不能有重复项, item_id_nm 可以有重复项(实际上可以发生多次,也就是 > 2)。
您将如何形成 SQL 以查找重复的 item_id_nm,但仅当高度或宽度或长度或重量的值相差 > 30% 时才查找重复的 item_id_nm。
我知道它需要遍历表,但是我该如何进行检查。谢谢您的帮助。
编辑:包括 %30 差异的示例。id = 3 与 id 1 和 2 的 1.0(或 1.1)有 200% 的高度差异。很抱歉不清楚,但高度、宽度、长度或重量的每个值都可能有 30% 的差异,并且如果其中一个有 30% 的差异,它将被视为与其他的重复。