[英]IF Statement in MYSQL SELECT query
如果用戶輸入語言與 url 語言匹配,我正在嘗試添加條件
SELECT DISTINCT *, IF(url_lang = 'en', weight = (weight+1.1)<10, weight = (weight-1.1)<10) as user_language_weight
FROM links
WHERE (status='active'
AND type='url'
AND MATCH(title,description,keywords) AGAINST('($op_word_1*) | ($op_word_2*) | ($op_word_3*) | ($op_word_4*) | ($op_word_5*) | ($acc_op_word_1) | ($acc_op_word_2) | ($acc_op_word_3) | ($acc_op_word_4) | ($acc_op_word_5)' IN BOOLEAN MODE)
GROUP BY host
ORDER BY weight DESC
根據上述,如果語句不起作用,我在這里遺漏了一些邏輯。 有人願意糾正或解釋嗎?
謝謝大家的意見。 讓 IF 語句正常工作,例如:
SELECT *, IF(url_lang = 'en', weight +1.1, weight -1.1) AS weight
FROM links
WHERE (status='active'
AND type='url'
AND MATCH(title,description,keywords) AGAINST('($op_word_1*) | ($op_word_2*) | ($op_word_3*) | ($op_word_4*) | ($op_word_5*) | ($acc_op_word_1) | ($acc_op_word_2) | ($acc_op_word_3) | ($acc_op_word_4) | ($acc_op_word_5)' IN BOOLEAN MODE)
GROUP BY host
ORDER BY weight DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.