當前位置:首頁 » 數據倉庫 » 資料庫分組查詢匯總
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫分組查詢匯總

發布時間: 2022-04-30 18:23:55

『壹』 sql分組查詢問題,如何把 在同一欄位下具有不同值的 記錄 按一定條件進行分組查詢統計啊

用group by就可以解決。

比如表名為test,數據如下

id grade

1 10

1 20

2 40

2 30


現在要求按id分組查詢grade的和,可以用如下語句:

selectid,sum(grade)asgradefromtestgroupbyid;


得到的結果是

id grade

1 30

2 70

『貳』 我想在資料庫中的一個表中查詢出全部數據 並且按照一個分組和排序

select
分組列1,分組列2...,
聚合列1,聚合列2...
from 表
group by 分組列1,分組列2...
order by 分組列或聚合列
--------
分組查詢中,做為查詢結果顯示的列,必須是用於分組的列,或者聚合的列.
比如:sum(),count(),avg()等等.

『叄』 SQL分組查詢求和匯總

select name,[type],SUM(hour) from 表名 group by [type],name

『肆』 sql查詢怎麼進行(多條件分組判斷匯總)

sql多條件分組查詢舉例:
比如有兩張表:
表一:
姓名 分數
——————
李一 2
李二 1
李三 1
張一 3
張二 2
張三 2
……
表二:

——



要查詢表二中的姓的數據對表一進行分組,然後將分數統計出來。
sql語句寫法如下:
SELECT
b. NAME,
sum(a.score) AS 分數
FROM
tb1 a
LEFT JOIN tb2 b ON SUBSTR(a.name FROM 1 FOR 1)= b.`name`
GROUP BY
b. NAME;
這個是Mysql的寫法 Oracle把SubStr函數改一下就可以了。

『伍』 sql中為什麼要使用分組查詢

分組查詢一般用於統計數據,使用分組能讓匯總結果一目瞭然。

1、如emp表中有如下數據:

『陸』 資料庫 多表分組連接查詢 做結果統計

select title,
sum(case when state=1 then 1 else 0 end) as 新建,
sum(case when state=2 then 1 else 0 end) as 已審,
sum(case when state=3 then 1 else 0 end) as 已刪
from tb1
group by title

『柒』 能否在一條SQL語句里,將數據先按類型分組查詢匯總,又按日期分組查詢匯總

可以,用存儲過程來做

『捌』 sql語句 如何分組後得到記錄總數

SELECT COUNT(*)

FROM (SELECT 分組欄位 FROM 表

GROUP BY 分組欄位

)別名


或者

SELECT COUNT(*)

FROM (SELECT distinct 分組欄位 FROM 表)別名

(8)資料庫分組查詢匯總擴展閱讀:

SQL分組查詢

在SQL Server中使用的分組查詢是ORDER BY子句,使用ORDER BY子句要同聚合函數配合使用才能完成分組查詢,在SELECT查詢的欄位中如果欄位沒有使用聚合函數就必須出現在ORDER BY子句中(即SELECT後邊的欄位名要麼出現在聚合函數中,要麼在ORDER BY子句中使用)

在分組查詢中還可以配合使用HAVING子句,定義查詢條件。

使用group by進行分組查詢

在使用group by關鍵字時,在select列表中可以指定的項目是有限制的,select語句中僅許以下幾項:

1、被分組的列

2、為每個分組返回一個值得表達式,例如用一個列名作為參數的聚合函數

3、group by 有一個原則,就是 select 後面的所有列中,沒有使用聚合函數的列,必須出現在 group by 後面

『玖』 怎麼用資料庫統計匯總啊

1.用SELECT語句對數據進行統計匯總
2.集合函數(聚合函數,統計函數)
3.為了有效處理查詢得到的數據集合,SQL Server提供了一系列統計函數.
4.這些函數可以實現數據集合和匯總:
avg ([ALL|DISTINCT]列名) 求指定數字欄位的平均值
sum ([ALL|DISTINCT]列名) 求指定數字欄位的總和
max([ALL|DISTINCT]列名) 求指定數字欄位中最大值
min ([ALL|DISTINCT]列名) 求指定數字欄位中最小值
count([ALL|DISTINCT]列名) 求滿足條件記錄中指定欄位不為空的記錄個數
count(*) 求滿足條件記錄總數
**********************************************************************************************
5.用GROUP BY子句對記錄分類統計匯總
格式:
GROUP BY 分組欄位名列表[HAVING 條件表達式]
功能:按指定條件對指定欄位依次分組進行統計匯總

注:
使用GROUP BY 的語句仍可用ORDER BY子句排序
但必須在GROUP BY之後可以使用別名但不允許對SELECT沒指定的列排序
HAVING子句是對分組統計後的查詢結果進行篩選.
使用GROUP BY 的select語句仍可用WHERE子句指定條件
**********************************************************************************************
說明:
Select 指定的欄位必須包含且只含GROUP BY子句中指定的分組欄位(可以為它指定別名),
其他必須是由集合函數組成的一個或多個計算列,統計函數中所使用的列不受限制.
GROUP BY子句中不允許使用欄位或計算列的別名,可直接使用表達式.
GROUP BY子句指定表達式時,select指定的欄位中可以不包括該表達式.
HAVING子句不允許使用別名
HAVING子句必須和GROUP BY一起使用,且設置的條件必須與GROUP BY 子句指定的分組欄位有關

『拾』 資料庫中如何分類、分組並總計SQL數據

通常,我們確實需要對所有數據進行排序。SQL的ORDER BY子句將數據按字母或數字順序進行排列。因此,同類數據明顯分類到各個組中。然而,這些組只是分類的結果,它們並不是真正的組。ORDER BY顯示每一個記錄,而一個組可能代表多個記錄。 2、減少組中的相似數據 分類與分組的最大不同在於:分類數據顯示(任何限定標准內的)所有記錄,而分組數據不顯示這些記錄。GROUP BY子句減少一個記錄中的相似數據。例如,GROUP BY能夠從重復那些值的源文件中返回一個唯一的郵政編碼列表: SELECTZIP FROMCustomers GROUPBYZIP 僅包括那些在GROUP BY和SELECT列列表中字義組的列。換句話說,SELECT列表必須與GROUP列表相匹配。只有一種情況例外:SELECT列表能夠包含聚合函數。(而GROUP BY不支持聚合函數。) 記住,GROUP BY不會對作為結果產生的組分類。要對組按字母或數字順序排序,增加一個ORDER BY子句(#1)。另外,在GROUP BY子句中您不能引用一個有別名的域。組列必須在根本數據中,但它們不必出現在結果中。 3、分組前限定數據 您可以增加一個WHERE子句限定由GROUP BY分組的數據。例如,下面的語句僅返回肯塔基地區顧客的郵政編碼列表。 SELECTZIP FROMCustomers WHEREState='KY' GROUPBYZIP 在GROUP BY子句求數據的值之前,WHERE對數據進行過濾,記住這一點很重要。