MySQL匹配搜索中的比较运算符

Below is the SQL statement, I am having difficulty placing a where statement that gets the score generated by match and only return products that score over 6.

SELECT product_id, image, title, part_num, price, discount_id, vat, 
       MATCH (title,part_num,description) 
       AGAINST ('SEARCH HERE') AS score 
FROM main_products AS p 
WHERE status = 1 
     AND MATCH(title,part_num,description) AGAINST ('SEARCH HERE') 
ORDER BY score desc, title ASC

I have tried but this doesn't work. It results in this error: Documentation #1054 - Unknown column 'score' in 'where clause'

SELECT product_id, image, title, part_num, price, discount_id, vat, 
      MATCH (title,part_num,description) 
      AGAINST ('SEARCH HERE') AS score 
FROM main_products AS p WHERE status = 1 AND score > 6 
     AND MATCH(title,part_num,description) AGAINST ('SEARCH HERE') 
ORDER BY score desc, title ASC

How with this?

SELECT product_id, image, title, part_num, price, discount_id, vat, 
      MATCH (title,part_num,description) 
      AGAINST ('SEARCH HERE') AS score 
FROM main_products 
WHERE status = 1 
      AND MATCH(title,part_num,description) AGAINST ('SEARCH HERE')
HAVING score > 6 
ORDER BY score desc, title ASC

MySQL first uses WHERE condition to retrieve rows, and then SELECT the columns.

So the "score" is not something known when MySQL selects rows.

You have to use the HAVING score > 6 as Angga said in his post in order to use this, or WHERE MATCH(...) AGAINST(...) > 6 as Alex said in his comment.

Both will return the same results, but performance consideration should make you prefer using WHERE because it won't make additional work on columns in order to filter the selection (like when using HAVING) and it will only read index files for selection.