需要幫助在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
ID顯然不能有重複,item_id_nm可以具有重複的(實際上可以出現多次又名> 2)。
如何構建SQL以查找重複的item_id_nm,但僅當高度或寬度或長度或重量的值相差大於30%時纔會出現這種情況。
我知道它需要遍歷表,但我該如何做檢查。謝謝您的幫助。
編輯:包含%30差異的示例。 id = 3,高度與id的1和2的1.0(或1.1)相差200%。所以對不清楚,對於高度,寬度,長度或重量的每個值可能有30%的差異。如果其中一個有30%的差異,它將被視爲其他的重複。
你可以使用簡單的連接來做到這一點。如果你想找到重複計數,你應該使用group by item_id_nm – bksi 2013-04-04 21:26:48
不同於什麼?每列的平均值? – Wolf 2013-04-04 21:32:50
請給出一些具有30%差異的示例行,以便清楚您想要的是什麼。你需要在你的問題中提供更多細節以獲得準確的答案。 – 2013-04-04 22:30:10