有一个price表,如
********************
*       *          *
*  id   *  price   *
*       *          *
********************
*  1   *   28      * 
*  2   *   89      *
*  3   *   81      *    
********************我用;SELECT id, price ,(price-MIN(price)) AS floatprice FROM price期望的结果是:id    price  floatprice
1      28       0
2      89       61
3      81       53可结果却显示 id=1 的那条,各位,要怎么改才会达到期望的结果

解决方案 »

  1.   

    一个简单的方法就是分两步做,第一步先找出最小值,第二步再计算相对值
    select min(price) form price
    把这个值保存到MINPRICE中
    select id, price, price-MINPRICE as floatprice from price有时候不需要一个完美的解决方案,能解决问题就是好方案
      

  2.   

     SELECT id, price ,price-(select MIN(price) from price) AS floatprice
     FROM price;mysql> select * from price;
    +------+-------+
    | id   | price |
    +------+-------+
    |    1 |    28 |
    |    2 |    89 |
    |    3 |    81 |
    +------+-------+
    3 rows in set (0.00 sec)mysql> SELECT id, price ,price-(select MIN(price) from price) AS floatprice
        -> FROM price;
    +------+-------+------------+
    | id   | price | floatprice |
    +------+-------+------------+
    |    1 |    28 |          0 |
    |    2 |    89 |         61 |
    |    3 |    81 |         53 |
    +------+-------+------------+
    3 rows in set (0.05 sec)mysql>
      

  3.   

    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
      

  4.   

    SELECT id, price ,price-(select MIN(price) from price) AS floatprice
     FROM price;