Php mysql中的if和else if
我正在做一个关于table coursereg1sttbl的结果项目。讲师只需输入分数,然后根据总分更新分数。有了if语句,我就可以让它工作了。这段代码在php中运行良好。我多么想写一个作业,在没有php的情况下在sql级别完成这项工作。所以如果分数是0-49,分数将是F,以此类推。如何使用sql进行此操作。我的主要目标是根据条件更新表coursereg1sttbl SET grade=成绩值Php mysql中的if和else if,php,mysql,Php,Mysql,我正在做一个关于table coursereg1sttbl的结果项目。讲师只需输入分数,然后根据总分更新分数。有了if语句,我就可以让它工作了。这段代码在php中运行良好。我多么想写一个作业,在没有php的情况下在sql级别完成这项工作。所以如果分数是0-49,分数将是F,以此类推。如何使用sql进行此操作。我的主要目标是根据条件更新表coursereg1sttbl SET grade=成绩值 <?php $sql = "SELECT * from coursereg1sttbl WHE
<?php $sql = "SELECT * from coursereg1sttbl WHERE matricno = '$matno' AND registratioin_status ='1' ";
$query = $dbh -> prepare($sql);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
$cnt=1;
if($query->rowCount() > 0)
{
foreach($results as $result)
{
// Pharmacy Grading
if($dptcode == 119 ){
if($result->total_score >= 0 && $result->total_score <=49) $grade1='F';
elseif($result->total_score >=50 && $result->total_score <=54) $grade1='E';
elseif($result->total_score >=55 && $result->total_score <=59) $grade1='D';
elseif($result->total_score>=60 && $result->total_score <=64) $grade1='C';
elseif($result->total_score >=65 && $result->total_score <=69) $grade1='B';
elseif($result->total_score >=70 && $result->total_score <=100) $grade1='A';
else
{
$grade1 ='NA';
}
} ?> ```
```
使用SQL完成此任务的一个好方法(有些人称之为直方图bucketing)是使用CASE当。。。然后…
查询中的表达式。如果。。。否则,如果。。。。否则如果。。。否则,请注意:这与SQL的其余部分一样,它是声明性的,而不是程序性的,比如<代码>如果是“< /COD>”。你告诉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';
选择CASE WHEN total_score>=0,total_score=50,total_score=55,total_score=60,total_score=65,total_score=70,total_score=70时,立即在查询中使用CASE
操作符()。这看起来很有趣,我将尝试一下。我的主要目标是更新同一个表,并设置列Grade=该级别基于conditions@meetmec12:您可以轻松地将其转换为update
语句:updatecoursereg1sttbl SET gade=CASE。。。结束位置…