【发布时间】:2014-10-23 06:40:49
【问题描述】:
查询与给定值匹配的行最匹配的记录
我有一张有价值的桌子
如果不存在则创建表product (
id int(11) NOT NULL AUTO_INCREMENT,
product varchar(255) 非空,
value1 float NOT NULL,
value2 float NOT NULL,
value3 float NOT NULL,
主键 (id)
) ENGINE=MyISAM 默认字符集=latin1 AUTO_INCREMENT=7 ;
插入product(id、product、value1、value2、value3)值
(1, '测试', 5.3, 6.8, 9),
(2, '测试', 8, 9, 12),
(3, '测试', 12, 15, 20),
(4, 'test1', 6, 8, 10),
(5, 'test1', 8, 12, 18),
(6, 'test1', 12, 17, 21);
例子
标识 |产品 |值1 |值2 |价值3 | 1 |测试 | 5.3 | 6.8 | 9 | 2 |测试 | 8 | 9 | 12 | 3 |测试 | 12 | 15 | 20 | 4 |测试1 | 6 | 8 | 10 | 5 |测试1 | 8 | 12 | 18 | 6 |测试1 | 12 | 17 | 21 |
在此,有两种类型的产品示例 test 和 test1 并具有一些值。 我需要通过给出 value1、value2 和 value3 来获得 test 和 test1 的最佳匹配产品|
ex value1=6 value=7 value3=8
在这种情况下,我需要得到
标识 |产品 |值1 |值2 |价值3 | 1 |测试 | 5.3 | 6.8 | 9 | 4 |测试1 | 6 | 8 | 10 |
请帮我写一个mysql查询。
【问题讨论】:
-
定义“最匹配”