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

Mysql中order by、group by、having的區(qū)別深入分析

 更新時(shí)間:2013年06月13日 10:01:44   作者:  
本篇文章是對(duì)Mysql中order by、group by、having的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

order by 從英文里理解就是行的排序方式,默認(rèn)的為升序。 order by 后面必須列出排序的字段名,可以是多個(gè)字段名。 
group by 從英文里理解就是分組。必須有“聚合函數(shù)”來(lái)配合才能使用,使用時(shí)至少需要一個(gè)分組標(biāo)志字段。

什么是“聚合函數(shù)”?
像sum()、count()、avg()等都是“聚合函數(shù)”
使用group by 的目的就是要將數(shù)據(jù)分類匯總。

一般如:
select 單位名稱,count(職工id),sum(職工工資) form [某表]
group by 單位名稱
這樣的運(yùn)行結(jié)果就是以“單位名稱”為分類標(biāo)志統(tǒng)計(jì)各單位的職工人數(shù)和工資總額。

在sql命令格式使用的先后順序上,group by 先于 order by。

select 命令的標(biāo)準(zhǔn)格式如下: 
SELECT select_list
[ INTO new_table ]
FROM table_source
[ WHERE search_condition ]
[ GROUP BY group_by_expression ]
[ HAVING search_condition ]

1. GROUP BY 是分組查詢, 一般 GROUP BY 是和聚合函數(shù)配合使用 
group by 有一個(gè)原則,就是 select 后面的所有列中,沒(méi)有使用聚合函數(shù)的列,必須出現(xiàn)在 group by 后面(重要)

例如,有如下數(shù)據(jù)庫(kù)表: 
A    B
1    abc
1    bcd 
1    asdfg 
如果有如下查詢語(yǔ)句(該語(yǔ)句是錯(cuò)誤的,原因見前面的原則)

select A,B from table group by A
 
該查詢語(yǔ)句的意圖是想得到如下結(jié)果(當(dāng)然只是一相情愿) 
A     B
       abc
1     bcd

       asdfg 
右邊3條如何變成一條,所以需要用到聚合函數(shù),如下(下面是正確的寫法):

select A,count(B) as 數(shù)量 from table group by A
這樣的結(jié)果就是    
A 數(shù)量
1    3

2. Having
 
where 子句的作用是在對(duì)查詢結(jié)果進(jìn)行分組前,將不符合where條件的行去掉,即在分組之前過(guò)濾數(shù)據(jù),條件中不能包含聚組函數(shù),使用where條件顯示特定的行。 

having 子句的作用是篩選滿足條件的組,即在分組之后過(guò)濾數(shù)據(jù),條件中經(jīng)常包含聚組函數(shù),使用having 條件顯示特定的組,也可以使用多個(gè)分組標(biāo)準(zhǔn)進(jìn)行分組。

having 子句被限制子已經(jīng)在SELECT語(yǔ)句中定義的列和聚合表達(dá)式上。通常,你需要通過(guò)在HAVING子句中重復(fù)聚合函數(shù)表達(dá)式來(lái)引用聚合值,就如你在SELECT語(yǔ)句中做的那樣。例如: 
SELECT A COUNT(B) FROM TABLE GROUP BY A HAVING COUNT(B)>2

相關(guān)文章

  • MySQL?數(shù)據(jù)庫(kù)的對(duì)庫(kù)的操作及其數(shù)據(jù)類型

    MySQL?數(shù)據(jù)庫(kù)的對(duì)庫(kù)的操作及其數(shù)據(jù)類型

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫(kù)的對(duì)庫(kù)的操作及其數(shù)據(jù)類型,下面文字圍繞數(shù)據(jù)庫(kù)的對(duì)庫(kù)的操作及其數(shù)據(jù)類型的相關(guān)資料展開詳細(xì)介紹,需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • MySQL復(fù)合查詢和表的內(nèi)外連接示例詳解

    MySQL復(fù)合查詢和表的內(nèi)外連接示例詳解

    在數(shù)據(jù)庫(kù)管理和數(shù)據(jù)分析中,單表查詢往往無(wú)法滿足復(fù)雜的數(shù)據(jù)查詢需求,因此多表查詢和子查詢成為了解決問(wèn)題的關(guān)鍵技術(shù),MySQL支持多種多表查詢方式,如內(nèi)連接、外連接(左外連接和右外連接)以及自連接,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)

    詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)

    這篇文章主要介紹了詳解數(shù)據(jù)庫(kù)連接的URL的寫法及總結(jié)的相關(guān)資料這里提供了四種方法1、oracle.2、MySQL.3、SQL Server.4、DB2,需要的朋友可以參考下
    2017-07-07
  • mysql用一個(gè)表更新另一個(gè)表的方法

    mysql用一個(gè)表更新另一個(gè)表的方法

    下面小編就為大家?guī)?lái)一篇mysql用一個(gè)表更新另一個(gè)表的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • MySQL數(shù)據(jù)庫(kù)的多表操作

    MySQL數(shù)據(jù)庫(kù)的多表操作

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)的多表操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-08-08
  • Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解

    Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解

    這篇文章主要介紹了Linux下MySQL5.7.18 yum方式從卸載到安裝過(guò)程圖解,需要的朋友可以參考下
    2017-06-06
  • SQLServer注釋快捷鍵操作

    SQLServer注釋快捷鍵操作

    這篇文章主要介紹了SQLServer注釋快捷鍵操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • MySQL中case?when對(duì)NULL值判斷的踩坑記錄

    MySQL中case?when對(duì)NULL值判斷的踩坑記錄

    最近在學(xué)習(xí)Hive基礎(chǔ)知識(shí)時(shí),遇到了遇到了Case?When?Else?End語(yǔ)法,這篇文章主要給大家介紹了關(guān)于MySQL中case?when對(duì)NULL值判斷的踩坑記錄,需要的朋友可以參考下
    2021-12-12
  • 淺談Mysql使用B+樹來(lái)實(shí)現(xiàn)索引的原因

    淺談Mysql使用B+樹來(lái)實(shí)現(xiàn)索引的原因

    這篇文章,主要來(lái)探討一下為什么Mysql使用B+樹來(lái)實(shí)現(xiàn)索引,這里討論的目標(biāo)是Mysql的InnoDB存儲(chǔ)引擎.可以想象一下,如果你是Mysql的開發(fā)人員,你會(huì)怎么去選擇合適的數(shù)據(jù)結(jié)構(gòu)呢,感興趣的小伙伴跟著小編一起來(lái)探討吧
    2023-05-05
  • MySQL在Centos7環(huán)境安裝的完整步驟記錄

    MySQL在Centos7環(huán)境安裝的完整步驟記錄

    在CentOS7環(huán)境下安裝MySQL是一項(xiàng)常見的任務(wù),尤其對(duì)于那些沒(méi)有網(wǎng)絡(luò)連接或者需要在隔離環(huán)境中的開發(fā)者來(lái)說(shuō),離線安裝MySQL顯得尤為重要,這篇文章主要介紹了MySQL在Centos7環(huán)境安裝的完整步驟,需要的朋友可以參考下
    2024-10-10

最新評(píng)論

湟中县| 噶尔县| 叶城县| 冕宁县| 莒南县| 阜阳市| 偏关县| 古田县| 疏勒县| 古田县| 绥德县| 金乡县| 胶南市| 清苑县| 改则县| 邳州市| 绵竹市| 阜平县| 连云港市| 宁国市| 资中县| 徐水县| 星子县| 开阳县| 乌海市| 浦东新区| 黄龙县| 乌鲁木齐市| 承德市| 于都县| 依安县| 商河县| 天长市| 灌南县| 隆化县| 竹北市| 金堂县| 蕉岭县| 衡东县| 霍林郭勒市| 商丘市|