MySQL sum函数报错

我用sql语句求和时出现报错
代码:

$sql_order_fee="select  (goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee from ecs_order_info WHERE user_id=$user_id and pay_status = 2 and TO_DAYS(date_format(from_UNIXTIME(`pay_time `),'%Y-%m-%d'))=TO_DAYS(NOW())";

报错:

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => select sum((goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee) from ecs_order_info WHERE user_id=63 and pay_status = 2 and TO_DAYS(date_format(from_UNIXTIME(`pay_time `),'%Y-%m-%d'))=TO_DAYS(NOW()) ) [2] => Array ( [error] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS total_fee) from ecs_order_info WHERE user_id=63 and pay_status = 2 and TO_DAY' at line 1 ) [3] => Array ( [errno] => 1064 ) )

烦请解答一下,我没找到错误原因。

阅读 2.9k
2 个回答

括号问题,sum后面多了一个括号,且total_fee后面那个括号是多余

select sum(goods_amount + shipping_fee + insure_fee + pay_fee + pack_fee + card_fee + tax - discount) AS total_fee from ecs_order_info WHERE user_id=63 and pay_status = 2 and TO_DAYS(date_format(from_UNIXTIME(`pay_time `),'%Y-%m-%d'))=TO_DAYS(NOW())

AS total_fee后的括号移到前边,或者删掉SUM后的一个括号和AS total_fee后的括号

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题