亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

if 和 else if 在 mysql

if 和 else if 在 mysql

PHP
墨色風雨 2022-10-14 10:02:22
我正在使用表格 coursereg1sttbl 進行結果項目。講師將只輸入分數,并且根據總分更新成績。使用 if 語句和 else 我能夠讓它工作。此代碼適用于 php。我怎么想寫一份在沒有 php 的情況下在 sql 級別執行此操作的工作。因此,如果分數為 0 - 49,則等級將為 F,依此類推。我如何為此使用 sql。我的主要目標是根據條件更新表 coursereg1sttbl SET Grade = 等級值<?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';       }  }   ?>  ```
查看完整描述

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';

盡管如此,以這種方式編碼似乎很冗長且容易出錯。也許有人可以發明更好的方法?


查看完整回答
反對 回復 2022-10-14
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號