最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中Case?When用法及說明

 更新時間:2022年12月29日 14:25:20   作者:追夢菜鳥  
這篇文章主要介紹了MySQL中Case?When用法及說明,具有很好的參考價值,希望對大家有所幫助。

最近,在學習Hive基礎知識時,遇到了遇到了Case When Else End語法,以前學習MySQL時忽略了這部分知識點,現總結一下相關的知識給大家。

首先練習一個例子如下:

一、學生課程成績統(tǒng)計

1) 建表

use hiveDemo;
CREATE TABLE `course` (
  `id` int,
  `sid` int ,
  `course` string,
  `score` int 
) ;

2) 插入數據

// 字段解釋:id, 學號, 課程, 成績
INSERT INTO `course` VALUES (1, 1, 'yuwen', 43);
INSERT INTO `course` VALUES (2, 1, 'shuxue', 55);
INSERT INTO `course` VALUES (3, 2, 'yuwen', 77);
INSERT INTO `course` VALUES (4, 2, 'shuxue', 88);
INSERT INTO `course` VALUES (5, 3, 'yuwen', 98);
INSERT INTO `course` VALUES (6, 3, 'shuxue', 65);

3) 需求

求:所有數學課程成績 大于 語文課程成績的學生的學號

最開始的想法是打算同過自連接的方式來解決,后來咨詢了公司的同事,知道了可以case可以用來解決此問題。

a. 使用case...when...將不同的課程名稱轉換成不同的列。 

create view tmp_course_view as
select sid, case course when "shuxue" then score else 0 end  as shuxue,  
case course when "yuwen" then score else 0 end  as yuwen from course;  
 
select * from tmp_course_view;

 

b. 以sid分組合并取各成績最大值

create view tmp_course_view1 as
select aa.sid, max(aa.shuxue) as shuxue, max(aa.yuwen) as yuwen from tmp_course_view aa group by sid;  
 
select * from tmp_course_view1;

c. 比較結果

select * from tmp_course_view1 where shuxue > yuwen;

二、Case When Else End用法詳解

1) 更新

update table  
set 字段1=case     
    when 條件1 then 值1       
    when 條件2 then 值2      
    else 值3      
    end     
where    …… 

2) 查詢

select 字段1, 字段2,       
    case 字段3     
    when 值1 then 新值       
    when 值2 then 新值      
    end as 重新命名字段3的名字       
from table      
where ……      
order by ……  

在一般的SELECT中,其語法如下:   

sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁SELECT <myColumnSpec> =?
sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁CASE?
sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁WHEN <A> THEN <somethingA>?
sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁WHEN <B> THEN <somethingB>?
sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁ELSE <somethingE>?
sql 中 case when 語法在這里添加日志標題 - 錢途無梁 - Notebook of 錢途無梁END?

CASE可能是 SQL 中被誤用最多的關鍵字之一。

雖然你可能以前用過這個關鍵字來創(chuàng)建字段,但是它還具有更多用法。

例如,你可以在 WHERE、GROUP BY和Order By子句中使用CASE。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • MySQL 數據庫鐵律(小結)

    MySQL 數據庫鐵律(小結)

    這篇文章主要介紹了MySQL 數據庫鐵律,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • Linux下安裝與使用MySQL詳細介紹

    Linux下安裝與使用MySQL詳細介紹

    以下是對在Linux下安裝與使用MySQL進行了詳細的介紹,需要的朋友可以過來參考下
    2013-08-08
  • mysql中mydumper 和 mysqldump 對比使用

    mysql中mydumper 和 mysqldump 對比使用

    MySQL數據庫備份工具有其自帶的mysqldump,屬于mysql官方的一款備份工具。但是第三方備份工具mydumper憑借優(yōu)越的特點為更多人所使用。下面就通過測試驗證它們之間的備份效率。
    2017-05-05
  • MySQL修改字段類型之modify詳解

    MySQL修改字段類型之modify詳解

    這篇文章主要介紹了MySQL修改字段類型之modify詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • MySQL中的聚簇索引、非聚簇索引、聯合索引和唯一索引詳細介紹

    MySQL中的聚簇索引、非聚簇索引、聯合索引和唯一索引詳細介紹

    本文主要介紹了MySQL的索引類型,根據索引的存儲方式來劃分,索引可以分為聚簇索引和非聚簇索引。聚簇索引的特點是葉子節(jié)點包含了完整的記錄行,而非聚簇索引的葉子節(jié)點只有所以字段和主鍵ID,感興趣的同學可以閱讀本文
    2023-04-04
  • MySQL中常用查看鎖和事務的SQL語句詳解

    MySQL中常用查看鎖和事務的SQL語句詳解

    這篇文章主要介紹了MySQL中常用查看鎖和事務的SQL語句,用于查看鎖和事務的狀態(tài),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • MySQL數據庫學習之分組函數詳解

    MySQL數據庫學習之分組函數詳解

    這篇文章主要為大家詳細介紹一下MySQL數據庫中分組函數的使用,文中的示例代碼講解詳細,對我們學習MySQL有一定幫助,需要的可以參考一下
    2022-07-07
  • MySQL復合查詢和表的內外連接示例詳解

    MySQL復合查詢和表的內外連接示例詳解

    在數據庫管理和數據分析中,單表查詢往往無法滿足復雜的數據查詢需求,因此多表查詢和子查詢成為了解決問題的關鍵技術,MySQL支持多種多表查詢方式,如內連接、外連接(左外連接和右外連接)以及自連接,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • 詳解mysql 獲取某個時間段每一天、每一個小時的統(tǒng)計數據

    詳解mysql 獲取某個時間段每一天、每一個小時的統(tǒng)計數據

    這篇文章主要介紹了mysql 獲取某個時間段每一天、每一個小時的統(tǒng)計數據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • MySQL之select、distinct、limit的使用

    MySQL之select、distinct、limit的使用

    這篇文章主要介紹了MySQL之select、distinct、limit的使用,下面文章圍繞select、distinct、limit的相關資料展開聚集內容,需要的朋友可以參考一下
    2021-11-11

最新評論

南充市| 福安市| 高雄市| 河源市| 襄樊市| 克什克腾旗| 盱眙县| 舒兰市| 招远市| 新田县| 绥阳县| 东乌| 景洪市| 吉木乃县| 玛沁县| 江城| 称多县| 旌德县| 东海县| 闵行区| 鸡东县| 许昌市| 南昌市| 德钦县| 赣榆县| 海南省| 和平区| 万全县| 息烽县| 登封市| 财经| 平遥县| 漯河市| 兴义市| 彭泽县| 东源县| 澄城县| 信阳市| 玉田县| 西安市| 遂昌县|