mysql中有个price表,
id    price
1   47.6-51.2 
2   23.6-25.2现要查出 price 值在20-30 区间的记录,
1 能不能用mysql语法实现?
2 用php页面中的代码又怎么实现

解决方案 »

  1.   

    建议将price字段分开两个
    id  minprice   maxprice
    1   47.6       51.2
    2   23.6       25.2
    3....................这样就好查询了。你现在表设计的着实有点问题,在设计表的同时要考虑到查询的时候是否方便
      

  2.   

    表的设计有问题,最小价格和最大价格应该分成两个子段如果已经是这个表结构了,你只能查询出所有的数据,然后用
    explode("-",$price);将价格分为两个数据,再比较。
      

  3.   

    只有想不到的,没有做不到的
    SELECT * from price SUBSTRING_INDEX(price,'-',1)>=20 and SUBSTRING_INDEX(price,'-',-1)<=30累死个把mysql、php也无所谓
      

  4.   

    多谢,四楼的可以 (只是SUBSTRING_INDEX 前少了一个where)