濮阳杆衣贸易有限公司

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

探討SQL compute by的使用分析

熱門標(biāo)簽:慶陽地圖標(biāo)注 咸陽電腦外呼系統(tǒng)運(yùn)營商 美團(tuán)地圖標(biāo)注商戶認(rèn)證注冊 怎么給高德做地圖標(biāo)注 電銷外呼系統(tǒng)軟件功能 浙江穩(wěn)定外呼系統(tǒng)供應(yīng)商 北京400電話辦理多少錢 承德地圖標(biāo)注公司名需要花錢嗎 榕城市地圖標(biāo)注

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 語句使用簡單 COMPUTE 子句生成 titles 表中 price 及 advance 的求和總計(jì):

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

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

下列查詢在 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è)行集,其中包含選擇列表中所請求的信息。每個(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 子句的語句會產(chǎn)生不規(guī)則的行。

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

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

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

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

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

(9)compute by 子句中可以不包含by ,而只用compute  此時(shí)不對前面信息分組,而只對全部信息進(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)簽:新鄉(xiāng) 呼和浩特 昭通 拉薩 重慶 上海 江蘇 貴州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《探討SQL compute by的使用分析》,本文關(guān)鍵詞  探討,SQL,compute,的,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《探討SQL compute by的使用分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于探討SQL compute by的使用分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    荆州市| 江华| 中卫市| 翼城县| 东平县| 巴东县| 汤阴县| 无为县| 临邑县| 双辽市| 遵化市| 鹤壁市| 宜川县| 南城县| 蓝田县| 金乡县| 久治县| 台中县| 石台县| 泾阳县| 乌鲁木齐县| 那坡县| 沙坪坝区| 康乐县| 元江| 绍兴县| 揭西县| 洛川县| 深水埗区| 炉霍县| 济源市| 洪洞县| 奉节县| 会昌县| 奇台县| 海安县| 福海县| 朝阳区| 翁牛特旗| 丰都县| 临沧市|