我现在有这样一个问题。Mysql数据库里面有多条某个产品的参数记录(每一件有五个参数,但是参数值有的不一样)。现在我想把查询出来的数据按照五个参数全部接近的放在一起。我现在有一个方案,但是不知道是否这样可行。我是循环里面的记录,例如 while($row=mysql->fetch_assoc($quey)){
 然后在这里面这样做查询,"selec * from 产品表 where para1==$row['para1'] and para2=$row['para2'] and para3=$row['para3']..."},这样做是不是查询次数太多了?有别的办法吗?

解决方案 »

  1.   

    谢谢,就比如说这样的表
    id   Fs        Fp       Qm    CT      R1   Zmax 
    2   988750   1096250    24    4.1    18.6  0.36
    3    988750   1102500   19.9   3.9    19    0.33
    4    100000   1107500    23     4.1   18    0.35
      

  2.   

    确定一个接近的标准:
    比如c1|a.p1-b.p1|+....< n然后 SELECT DISTINCT close_id FROM (SELECT GROUP_CONCAT(id ORDER BY id) close_id FROM a JOIN b ON c1|a.p1-b.p1|+....< n) c
      

  3.   

    select * from 产品 order by Fs, Fp, Qm, CT, R1, Zmax 改变 Fp, Qm, CT, R1, Zmax 的次序,就可按需要排列