日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺析SQL的排序,分組,統(tǒng)計(jì)常用語句(2)_Mssql數(shù)據(jù)庫教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:揭秘SQL Server視圖使用中4個(gè)限制條件
SQL Server的 視圖可以起到數(shù)據(jù)保密、保證數(shù)據(jù)的邏輯獨(dú)立性、簡化查詢操作等等作用。但是視圖跟表這個(gè)基本對(duì)象還是有重大的區(qū)別,在使用視圖的時(shí)候,需要遵守4大限制。 限制條件一:定義視圖的查詢語句中不能夠使用某些關(guān)鍵字 我們都知道,視圖其實(shí)就是一組


6.進(jìn)一步了解WHERE和HAVING語句 
如果你對(duì)何時(shí)應(yīng)該使用WHERE,何時(shí)使用HAVING仍舊很迷惑,請(qǐng)遵照下面的說明: 
WHERE語句在GROUP BY語句之前;SQL會(huì)在分組之前計(jì)算WHERE語句。 
HAVING語句在GROUP BY語句之后;SQL會(huì)在分組之后計(jì)算HAVING語句。 
7.使用聚合函數(shù)統(tǒng)計(jì)分組數(shù)據(jù) 
分組數(shù)據(jù)可以幫助我們分析數(shù)據(jù),但是有時(shí)我們可能需要更多的信息而不僅僅是分組。你可以使用聚合函數(shù)來統(tǒng)計(jì)分組數(shù)據(jù)。例如,下面的語句顯示每批訂購單的總價(jià)錢。 
SELECT OrderID, Sum(Cost * Quantity) AS OrderTotal 
FROM Orders GROUP BY OrderID
對(duì)于其它的分組來說,SELECT和GROUP BY列必須匹配。而SELECT語句包含聚合函數(shù)時(shí)這一規(guī)則是一個(gè)例外。 
8.統(tǒng)計(jì)聚合數(shù)據(jù) 
你可以繼續(xù)統(tǒng)計(jì)數(shù)據(jù)為每個(gè)分組顯示一個(gè)分類統(tǒng)計(jì)。SQL的ROLLUP操作符可以為每個(gè)分組顯示一個(gè)額外的分類統(tǒng)計(jì)。這個(gè)分類統(tǒng)計(jì)是使用聚合函數(shù)計(jì)算每個(gè)分組中的所有記錄得到的結(jié)果。下面的語句為每個(gè)分組計(jì)算OrderTotal: 
SELECT Customer, OrderNumber, Sum(Cost * Quantity) 
AS OrderTotal FROM Orders GROUP BY Customer, 
OrderNumber WITH ROLLUP 
對(duì)于有兩個(gè)分別為20和25 OderTotal值的分組,ROLLUP顯示一個(gè)OrderTotal值45。ROLLUP結(jié)果中的第一條記錄是唯一的,因?yàn)樗怯?jì)算所有分組記錄,這個(gè)值是整個(gè)記錄集的總值。 
ROLLUP在聚合函數(shù)中不支持 DISTINCT,也不支持GROUP BY ALL語句。 
9.統(tǒng)計(jì)每個(gè)列 
CUBE操作符比ROLLUP更進(jìn)一步,它返回每個(gè)分組中重復(fù)值的個(gè)數(shù)。它的結(jié)果和ROLLUP相同,但是對(duì)每位客戶的每一列CUBE包含一個(gè)額外的記錄。下面的語句顯示每個(gè)分組的統(tǒng)計(jì)和額外每位客戶的統(tǒng)計(jì)。 
SELECT Customer, OrderNumber, Sum(Cost * Quantity) 
AS OrderTotal FROM Orders GROUP BY Customer, 
OrderNumber WITH CUBE 
CUBE可以給最綜合的統(tǒng)計(jì)。它不僅完成聚合和ROLLUP的功能,還可以計(jì)算定義分組的其它列,換句話說,CUBE統(tǒng)計(jì)每個(gè)可能的列組合。 
CUBE不支持GROUP BY ALL語句。 
10:對(duì)統(tǒng)計(jì)結(jié)果排序 
當(dāng)CUBE的結(jié)果令人迷惑時(shí)(它經(jīng)常是這樣),可以添加一個(gè)GROUPING函數(shù),如下所示: 
SELECT GROUPING(Customer), OrderNumber, 
Sum(Cost * Quantity) AS OrderTotal FROM Orders GROUP 
BY Customer, OrderNumber WITH CUBE 
結(jié)果中每行包含兩個(gè)額外的值: 
值1表示左邊的值是一個(gè)統(tǒng)計(jì)值,是ROLLUP或CUBE的操作符。 
值0表示左邊的值是一條由最初的GROUP BY語句產(chǎn)生的詳細(xì)記錄。 

分享:解讀SQL Server數(shù)據(jù)庫開發(fā)要注意的21點(diǎn)
1、了解你將要對(duì)數(shù)據(jù)進(jìn)行的操作 為你的數(shù)據(jù)庫創(chuàng)建一個(gè)健壯的索引,那可是功德一件。可要做到這一點(diǎn)簡直就是一門藝術(shù)。每當(dāng)你為一個(gè)表添加一個(gè)索引,SELECT會(huì)更快了,可INSERT和DELETE卻大大的變慢了,因?yàn)閯?chuàng)建了維護(hù)索引需要許多額外的工作。顯然,這里問題的

共2頁上一頁12下一頁
來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時(shí)間:2010-02-03
相關(guān)Mssql數(shù)據(jù)庫教程