case when有兩個用法,壹個是行轉列,壹個是更改列的值
在數據分析時經常要用到行轉列,此時如果使用case when就會方便很多,case when的熟練使用程度,可以說的判斷對SQL操作水平的評定方法之壹。
case when的語句在某種程度上可以理解成是if函數的簡便邏輯寫法,主要有兩種模式:
模式壹(簡單變量表達式):
模式二(搜索變量表達式):
通常情況下,模式二的方式會更加靈活,在工作中也推薦使用模式二的寫法(特別是如果有使用Tableau等軟件制作參數的時候,語法跟模式二的相同的)。
看具體的例子:
如果現在想要看不同學生的平均分和每個課程的成績,並且不同課程按列進行顯示,要怎麽操作呢?
這個時候,使用case when就很方便了
當然了,也可以使用case when對學生的成績進行優良中差的判斷,這個在工作中的使用場景也是蠻多的,如果有興趣的同學可以自己試著練習看看。
這個就是case when在MySQL中的常用用法。