1 回答
TA贡献1828条经验 获得超4个赞
使用 SQL 执行此任务的一个好方法(有些人称之为直方图分桶)是CASE WHEN ... THEN ...在查询中使用表达式。这是 SQL 的做法if ... else if .... else if ... else (请注意:与 SQL 的其余部分一样,它是声明性的,而不是过程式的if else。你告诉 SQL你想要什么,而你告诉 Javascript 或 C++ 或任何编程语言该做什么。)
此查询可能会为您完成。
SELECT CASE WHEN total_score >= 0 AND total_score <= 49 THEN 'F'
WHEN total_score >= 50 AND total_score <= 54 THEN 'E'
WHEN total_score >= 55 AND total_score <= 59 THEN 'D'
WHEN total_score >= 60 AND total_score <= 64 THEN 'C'
WHEN total_score >= 65 AND total_score <= 69 THEN 'B'
WHEN total_score >= 70 AND total_score <= 100 THEN 'A'
ELSE 'NA' END AS grade,
*
FROM coursereg1sttbl
WHERE matricno = '$matno'
AND registratioin_status ='1';
尽管如此,以这种方式编码似乎很冗长且容易出错。也许有人可以发明更好的方法?
- 1 回答
- 0 关注
- 87 浏览
添加回答
举报