1

我正在使用查询从没有美元的价格列中选择价格,然后在 if 语句之后按该别名排序。但是按该别名的顺序不起作用。

我正在使用的查询是

SELECT 
  *, 
  IF( SUBSTRING( price , '1', '1' ) = '$', 
      round( replace( price , '$', '' ) ) ,
      price ) AS coupon 
FROM ccs_product 
WHERE (product_name LIKE '%JoyLot.com%' 
       OR website_name LIKE '%JoyLot.com%' 
       OR description LIKE '%JoyLot.com%')
ORDER BY coupon ASC 
LIMIT 0 , 10;
4

2 回答 2

2

使用别名进行排序没有问题。检查这个sql fiddle作为证明

于 2013-01-01T08:48:21.973 回答
2

使用这个查询它的作品使用 round(price)

   SELECT 
       *, 
         IF( SUBSTRING( price , '1', '1' ) = '$', 
              round( replace( price , '$', '' ) ) ,
              round(price) ) AS coupon 
          FROM ccs_product 
         WHERE (product_name LIKE '%JoyLot.com%' 
     OR website_name LIKE '%JoyLot.com%' 
     OR description LIKE '%JoyLot.com%')
        ORDER BY coupon ASC 
   LIMIT 0 , 10;
于 2013-01-01T08:54:18.087 回答