Нужна помощь в поиске похожих значений в базе данных SQL. Структура таблицы, как: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
идентификатор, очевидно, не может иметь дубликаты, item_id_nm может иметь дубликаты (на самом деле может происходить много раз ака> 2).
Как бы вы сформировали SQL, чтобы найти дубликаты item_id_nm, но только те, когда значения высоты, ширины, длины или веса отличаются на> 30%.
Я знаю, что ему нужно пройти через стол, но как мне сделать проверки. Спасибо за помощь.
Редактировать: Приведен пример разницы% 30. id = 3 с высотой 200% -ной разницей в 1,0 (или 1,1) идентификаторов 1 и 2. Так что извините за то, что вы не поняли, но разница 30% будет возможной для каждого значения высоты, ширины, длины или веса и если один из них имеет 30% -ную разницу, он будет считаться дубликатом других.
вы можете использовать простое соединение для этого. и если вы хотите найти количество дубликатов, вы должны использовать группу по item_id_nm – bksi
. От чего? Среднее значение для каждого столбца? – Wolf
Просьба привести несколько строк, имеющих 30% -ную разницу, чтобы было ясно, что именно вы хотите. Вы должны дать более подробную информацию в своих вопросах, чтобы получить точные ответы. –