我想编写一个 PHP 代码,它将循环遍历 dB_table 行“total”,如果“total”等于或大于 70,则显示 A。如果它在 69 到 55 之间,则显示 A。将显示 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 及以下的“C”。 如何才能实现我的目标?
最佳答案
只需使用之前使用的相同比较运算符即可利用索引(如果有的话)。
CASE
WHEN total >= 70 THEN 'A'
WHEN total >= 55 AND total < 70 THEN 'B'
ELSE 'C'
END AS field4
关于php - 我如何使用 CASE 语句循环遍历这些?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26181739/