Mysql elt 函數(shù)劃分區(qū)間實用講解(如何篩選出單獨某一個分值)

記錄所學,總結(jié)所得。

今天就回顧一下我“研究”出來的 mysql elt函數(shù)吧。初識elt函數(shù)可以留步看看,老司機出門右拐。

首先,通過實例看看elt函數(shù)的用法,也可以說是函數(shù)本身方法的效果:

下面,我要將班級里人數(shù)按我需要的區(qū)間篩選出來:

左面是表里的數(shù)據(jù),右面是sql查詢和結(jié)果。

根據(jù)我sql查出來可以一眼看出來,這其中要注意的一點就是劃分出來的分數(shù)段是 [左閉右開)的,所以設(shè)置的分數(shù)點尤為重要,就是我上面的綠色的字體,而紅色的則只是展現(xiàn)出來的,就根據(jù)需要篩選即可。

其實要點只有一行,elt(?interval (score, A, B, C,?D,?E, F)

(個人觀點):mysql 的這個elt函數(shù),它方法執(zhí)行的是按照所設(shè)置的n個分數(shù)點,即我用字母A—F表示(我的這個例子中給了6個分數(shù)點),函數(shù)方法則將所有分數(shù)劃分為6個分數(shù)區(qū)間,即[A,B), [B,C),?[C,D),?[D,E),?[E,F),?[F,+)。



下面問題來了。比如月考后,要計算班級平均分,恰好趕上學校流感,班級里有很多人請假,老師現(xiàn)在想把所有0分的個數(shù)篩選出來(即缺考的),然后計算平均分。這是就需要將分數(shù)=0的單獨篩選出來,那么,使用elt函數(shù)怎么篩選出來呢?


假設(shè)考試分數(shù)都是整數(shù),我的做法是:在0和1之間再選取一個分數(shù)點,因為elt函數(shù)是左閉右開,所以會把分數(shù)為0的單獨劃分出來,初識elt函數(shù)的小白可以思考一下。而下面展示的 '1-30' 則會統(tǒng)計[1,30)分的區(qū)間,絲毫不影響其他劃分區(qū)區(qū)間。同樣,因為elt函數(shù)最后一個區(qū)間要 >=N(N為最后一個分數(shù)點),我這里統(tǒng)計滿分的個數(shù)也是如此,因為分數(shù)最高為100,所以最后一個區(qū)間就是滿分的。

以此類推,無論你需要什么樣子的區(qū)間,或者是單獨某一個分數(shù),都可以用elt函數(shù)設(shè)立分數(shù)點這種方法來篩選出來。

--------------------------------謝謝觀看,有意見下方留言----------------------------

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容