我的出路在這裏我的聯賽......MySQL的:使用匹配不精確值「ON」
我有一個映射表(表1)分配特定值(值)爲整數(map_nu) 。我的第二張表(table2)是每個用戶(user_id)的平均值(avg)的集合。
(我無法弄清楚如何正確地做出降價表,請隨時編輯!)
table1: table2:
(value)(Map_nu) (user_id)(avg)
---- -----
1 1 1 1.111
1.045 2 2 1.2
1.09 3 3 1.33333
1.135 4 4 1
1.18 5 5 1.389
1.225 6 6 1.42
1.27 7 7 1.07
1.315 8
1.36 9
1.405 10
值Map_nu是每個用戶根據被分配一個特殊號碼的平均。我需要找到一種方法將table2中的平均值與table1中最接近的值進行匹配。我只需要匹配到2位過去小數點,所以我已經添加了截斷功能
SELECT table2.user_id, map_nu
FROM `table1`
JOIN table2 ON TRUNCATE(table1.value,2)=TRUNCATE(table2.avg,2)
我依然想念那不完全匹配的平均數值。有沒有辦法選擇最接近的截斷值,或者甚至舍入到第二個小數?只要其適用於所有值相同,向上/向下舍入都不重要。
我想有以下結果(如果四捨五入):
(user_id)(Map_nu)
----
1 4
2 6
3 6
4 1
5 10
6 11
7 3
謝謝!
有我編輯出來的元素來簡化,但我想我已經簡化了。我會對這個問題進行一些編輯。讓我知道,如果這使得它更清晰。 – Brad 2010-04-16 00:01:21
這對其他類型的貢獻者來說可能不公平,但是 - 這個問題來自一年前,而且我很久以前就已經開始動作了,很明顯,這個問題還不夠徹底,或者詢問正確的信息。選擇這個答案!謝謝:) – Brad 2012-07-31 05:04:39