为什么这是我的SQL返回零

时间:2012-03-26 12:43:50

标签: mysql

这是一个返回排名结果大于零的查询。

我仍然得到零分的行,任何人都明白为什么?

SELECT SQL_CALC_FOUND_ROWS P.`Package_ID` as `id`, 
P.`name`, P.`description`,
(( ((P.`name` LIKE '%test%' ) *100 * 1 ) +
((P.`name` LIKE '%test%' ) * 1 * 90) + 
((P.`name` LIKE '%test%' ) * 20) + 
((P.`description` LIKE '%test%' ) * 30 * 1 ) +
((P.`description` LIKE '%test%' ) * 10 *1 ) + 
((P.`description` LIKE '%test%' ) * 10) )) AS `score` 
FROM `package` P  
WHERE 
   CONVERT(( ((P.`name` LIKE '%test%' ) *100 * 1 ) +
  ((P.`name` LIKE '%test%' ) * 1 * 90) + 
  ((P.`name` LIKE '%test%' ) * 20) + 
  ((P.`description` LIKE '%test%' ) * 30 * 1 ) + 
  ((P.`description` LIKE '%test%' ) * 10 *1 ) + 
  ((P.`description` LIKE '%test%' ) * 10) ),UNSIGNED) > 0 

1 个答案:

答案 0 :(得分:-2)

从未发现为什么最终使用了Having子句