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

SQL集合函數(shù)中case when then 使用技巧

 更新時間:2011年09月09日 09:27:09   作者:  
我們都知道SQL中適用case when then來轉(zhuǎn)化數(shù)據(jù)庫中的信息 比如 select (case sex when 0 then '男' else '女' end) AS sex from studentInfo

那么在集合函數(shù)中它有什么用呢 ?

假設(shè)數(shù)據(jù)庫有一張表名為student的表。

如果現(xiàn)在要你根據(jù)這張表,查出江西省男女個數(shù),廣東省男生個數(shù),浙江省男女個數(shù) 怎么寫SQL語句?即要生成下結(jié)果表

答案是:select sex ,count ( case province when '廣東省' then '廣東省' end )as 廣東省 ,count ( case province when '江西省' then '江西省' end )as 江西省 ,count ( case province when '浙江省' then '浙江省' end )as 浙江省 from student group by sex

count()函數(shù)即根據(jù)給定的范圍和group by(統(tǒng)計方式) 而統(tǒng)計行數(shù)據(jù)的條數(shù)

我們一步步來理解上面語句

1.  select sex from student (查詢數(shù)據(jù)表中的存在的男女條數(shù))

2.select sex, count (*) as num from student group by sex  (查詢表中男女?dāng)?shù)量)

3.select sex ,province, count (*)as num from student group by sex,province (查詢各省男女?dāng)?shù)量)

重點來了,如果我把count(*) 中的 *號換成任一列名呢? 如count(province) 會怎樣?

4.select sex ,province, count (province)as num from student group by sex,province (查詢各省男女?dāng)?shù)量)

結(jié)果跟上圖一樣:這說明換不換都一樣。又有count (province)等價于 count(case province when '浙江省' then '浙江省' else province end )

但是如果我們縮小范圍呢即count(case province when '浙江省' then '浙江省' end ) 那么請看下面

5.select sex ,province, count ( case province when '浙江省' then '浙江省' end )as num from student group by sex,province

即統(tǒng)計男女?dāng)?shù)量范圍限定在浙江省 再精簡一下即下面

6.select sex, count ( case province when '浙江省' then '浙江省' end ) as 浙江省 from student group by sex

已經(jīng)接近我們的要求了,現(xiàn)在只要加上另幾個字段就是了

7.select sex ,count ( case province when '廣東省' then '廣東省' end )as 廣東省 ,count ( case province when '江西省' then '江西省' end )as 江西省 ,count ( case province when '浙江省' then '浙江省' end )as 浙江省 from student group by sex

小結(jié):當(dāng)然實現(xiàn)有很多種方法 可以多個子查詢拼接起來也不無可厚非。我這只是一種思路

補充:case when then 知識點

(1) select (case province when '浙江省' then '浙江' when '江西省' then '江西' end  ) as 省份 from student

如果默認范圍如果沒全包含則為空 像上圖的廣東省為空

(2)select (case province when '浙江省' then '浙江' when '江西省' then '江西' else province end  ) as 省份 from student

相關(guān)文章

  • 詳解sql中exists和in的語法與區(qū)別

    詳解sql中exists和in的語法與區(qū)別

    這篇文章主要介紹了sql中exists和in的語法與區(qū)別,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SQL SERVER 的SQL語句優(yōu)化方式小結(jié)

    SQL SERVER 的SQL語句優(yōu)化方式小結(jié)

    千辛萬苦,終于把數(shù)據(jù)庫服務(wù)器的CPU從超過50%(開5個程序線程)乃至100%(開10個程序線程)降低到了5%。摸索到了一些門道,總結(jié)一下
    2009-08-08
  • SQL 存儲過程基礎(chǔ)語法之一

    SQL 存儲過程基礎(chǔ)語法之一

    創(chuàng)建存儲過程,存儲過程是保存起來的可以接受和返回用戶提供的參數(shù)的 Transact-SQL 語句的集合。
    2009-11-11
  • SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題

    SQL語句執(zhí)行超時引發(fā)網(wǎng)站首頁訪問故障問題

    由于獲取網(wǎng)站首頁列表的 SQL 語句出現(xiàn)突發(fā)的查詢超時問題,造成訪問網(wǎng)站首頁時出現(xiàn) 500 錯誤,在故障期間記錄了大量錯誤,小編給大家分享到腳本之家平臺,感興趣的朋友一起看看吧
    2020-02-02
  • SQL恢復(fù)master數(shù)據(jù)庫方法 只有mdf文件的數(shù)據(jù)庫如何恢復(fù)

    SQL恢復(fù)master數(shù)據(jù)庫方法 只有mdf文件的數(shù)據(jù)庫如何恢復(fù)

    這篇文章主要為大家詳細介紹了SQL恢復(fù)master數(shù)據(jù)庫方法,還分析了只有mdf文件的數(shù)據(jù)庫如何進行恢復(fù)的情況,也就是沒有l(wèi)og文件的數(shù)據(jù)庫文件恢復(fù)方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SQL報錯注入之updatexml的實現(xiàn)

    SQL報錯注入之updatexml的實現(xiàn)

    updatexml函數(shù)通過輸入不符合XPATH格式的數(shù)據(jù)來觸發(fā)報錯,并利用這一點進行SQL注入,通過分析報錯信息,可以判斷是否存在注入點,并逐步爆出數(shù)據(jù)庫名、表名、字段名以及敏感數(shù)據(jù),感興趣的可以了解一下
    2024-10-10
  • SQL?DCL數(shù)據(jù)控制語言的使用

    SQL?DCL數(shù)據(jù)控制語言的使用

    本文主要介紹了SQL?DCL數(shù)據(jù)控制語言的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Sqlserver 常用日期時間函數(shù)

    Sqlserver 常用日期時間函數(shù)

    Sqlserver中經(jīng)常要操作一些時間類型的字段轉(zhuǎn)換,我又不太記得住,記在這里方便自己以后要用的時候?qū)ふ遥麑Υ蠹乙灿袔椭?/div> 2010-06-06
  • sql?server如何去除數(shù)據(jù)中的一些無用的空格

    sql?server如何去除數(shù)據(jù)中的一些無用的空格

    這篇文章主要介紹了sql?server去除數(shù)據(jù)中的一些無用的空格,本文給大家提到了一些常用的函數(shù),結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • SqlServer實現(xiàn)類似Oracle的before觸發(fā)器示例

    SqlServer實現(xiàn)類似Oracle的before觸發(fā)器示例

    本節(jié)主要介紹了SqlServer如何實現(xiàn)類似Oracle的before觸發(fā)器,需要的朋友可以參考下
    2014-08-08

最新評論

剑阁县| 山阴县| 郴州市| 灵川县| 玉溪市| 乐陵市| 涪陵区| 沙田区| 嘉黎县| 襄城县| 郯城县| 新巴尔虎左旗| 鄂州市| 温州市| 忻州市| 石泉县| 东兴市| 平阳县| 墨竹工卡县| 手机| 宜州市| 武定县| 安徽省| 应城市| 邛崃市| 甘德县| 余庆县| 神池县| 聊城市| 寿光市| 内江市| 盐亭县| 江北区| 怀化市| 大邑县| 汝城县| 九台市| 汕头市| 乳源| 黄龙县| 荆门市|