佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > 探討SQL compute by的使用分析

探討SQL compute by的使用分析

熱門標(biāo)簽:鐵路電話系統(tǒng) 百度競(jìng)價(jià)排名 AI電銷 呼叫中心市場(chǎng)需求 網(wǎng)站排名優(yōu)化 服務(wù)外包 地方門戶網(wǎng)站 Linux服務(wù)器

GROUP BY子句有個(gè)缺點(diǎn),就是返回的結(jié)果集中只有合計(jì)數(shù)據(jù),而沒有原始的詳細(xì)記錄。如果想在SQL SERVER中完成這項(xiàng)工作,可以使用COMPUTE BY子句。COMPTE生成合計(jì)作為附加的匯總列出現(xiàn)在結(jié)果集的最后。當(dāng)與BY一起使用時(shí),COMPUTE 子句在結(jié)果集內(nèi)生成控制中斷和分類匯總。

下列 SELECT 語句使用簡(jiǎn)單 COMPUTE 子句生成 titles 表中 price 及 advance 的求和總計(jì):

復(fù)制代碼 代碼如下:

USE pubs
SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(price), SUM(advance)

下列查詢?cè)?COMPUTE 子句中加入可選的 BY 關(guān)鍵字,以生成每個(gè)組的小計(jì):

USE pubs

復(fù)制代碼 代碼如下:

SELECT type, price, advance
FROM titles
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type

此 SELECT 語句的結(jié)果用12 個(gè)結(jié)果集返回,六個(gè)組中的每個(gè)組都有兩個(gè)結(jié)果集。每個(gè)組的第一個(gè)結(jié)果集是一個(gè)行集,其中包含選擇列表中所請(qǐng)求的信息。每個(gè)組的第二個(gè)結(jié)果集包含 COMPUTE 子句中兩個(gè) SUM 函數(shù)的小計(jì)。

compute by 子句的規(guī)則:

(1)不能將distinct與行統(tǒng)計(jì)函數(shù)一起使用

(2)compute ??? by 子句中 ???出的列必須出現(xiàn)在選擇列表中

(3)不能在含有compute by 子句的語句中使用select into 子句,因?yàn)榘╟ompute 子句的語句會(huì)產(chǎn)生不規(guī)則的行。

(4)如果使用了compute by子句,則必須使用order by 子句, 而且compute by子句中的列必須包含在order by 子句中,并且對(duì)列的前后順序和起始項(xiàng)都要一致(說白了compute by子句中的列必須是order by子句中列表的全部,或者前邊的連續(xù)幾個(gè))。

(5)如果compute 省略了 by ,則order by 也可以省略

(6)如果compute by 子句包含多列時(shí),會(huì)將一個(gè)組(第一個(gè)列分的組)分成若干個(gè)子組(利用后面的列),并對(duì)每層子組進(jìn)行統(tǒng)計(jì)。

(7)使用多個(gè)compute by子句時(shí),會(huì)分別按不同的組統(tǒng)計(jì)出結(jié)果。詳細(xì)信息還是按照正常的第一個(gè)分組方式顯示。

(8)compute by 子句中可以使用多個(gè)統(tǒng)計(jì)函數(shù),他們互不影響

(9)compute by 子句中可以不包含by ,而只用compute  此時(shí)不對(duì)前面信息分組,而只對(duì)全部信息進(jìn)行統(tǒng)計(jì)。

比較 COMPUTE 和 GROUP BY
COMPUTE 和 GROUP BY 之間的區(qū)別匯總?cè)缦拢?
GROUP BY 生成單個(gè)結(jié)果集。每個(gè)組都有一個(gè)只包含分組依據(jù)列和顯示該組子聚合的聚合函數(shù)的行。選擇列表只能包含分組依據(jù)列和聚合函數(shù)。

COMPUTE 生成多個(gè)結(jié)果集。一類結(jié)果集包含每個(gè)組的明細(xì)行,其中包含選擇列表中的表達(dá)式。另一類結(jié)果集包含組的子聚合,或 SELECT 語句
的總聚合。選擇列表可包含除分組依據(jù)列或聚合函數(shù)之外的其它表達(dá)式。聚合函數(shù)在 COMPUTE 子句中指定,而不是在選擇列表中。
下列查詢使用 GROUP BY 和聚合函數(shù);該查詢將返回一個(gè)結(jié)果集,其中每個(gè)組有一行,該行中包含該組的聚合小計(jì):
USE pubs
SELECT type, SUM(price), SUM(advance)
FROM titles
GROUP BY type

說明 在 COMPUTE 或 COMPUTE BY 子句中,不能包含 ntext、text 或 image 數(shù)據(jù)類型。

標(biāo)簽:崇左 銅川 仙桃 衡水 蘭州 黃山 湖南 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《探討SQL compute by的使用分析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    莆田市| 冀州市| 拜城县| 兰坪| 宜君县| 榕江县| 精河县| 留坝县| 祁门县| 阜新| 永福县| 合肥市| 汽车| 同江市| 潮州市| 都兰县| 江达县| 民丰县| 额敏县| 奇台县| 通河县| 扶余县| 包头市| 巴马| 石泉县| 辰溪县| 遂川县| 缙云县| 昌黎县| 兴海县| 淮阳县| 高阳县| 普定县| 房山区| 焦作市| 福建省| 邵武市| 宜兴市| 浮梁县| 巴东县| 云安县|