我想写一个PHP代码,它将循环遍历dB_table行“total”,如果“total”等于或大于70,它将显示A.如果它在69到55之间它将显示B否则将显示C. 我有下面的代码行,但它只考虑第一个和最后一个语句。
$sql = "SELECT total, field1, field2, field3, CASE
WHEN total >=70 THEN 'A'
WHEN total BETWEEN 69 AND 55 THEN 'B'
ELSE 'C'
END AS 'field4'
FROM db_table
WHERE user_name = '" . $user_name . "' OR fullname = '" . $user_name . "';";
$result_of_login_check = $this->db_connection->query($sql);
以上代码显示70及以上的'A'。它忽略了中间CASE并从69&amp ;;中显示'C'。下面。 如何实现我的目标?
答案 0 :(得分:0)
BETWEEN 69 AND 55
无效,因为MySQL的计数从1到无穷大:)
尝试将其更改为BETWEEN 55 AND 69
。
答案 1 :(得分:0)
只要使用相同的比较运算符,就可以使用索引(如果有的话)。
CASE
WHEN total >= 70 THEN 'A'
WHEN total >= 55 AND total < 70 THEN 'B'
ELSE 'C'
END AS field4