當前位置:首頁 » 操作系統 » 資料庫分組

資料庫分組

發布時間: 2022-01-31 00:20:41

資料庫查詢後怎麼分組 請詳細講解下group by

group
by
通常的用法是分組計數和求和
group
by
dept_id
就是以
dept_id
來分組,你的記錄集里只有
3
個不同的
dept_id
所以結果是
3
條記錄。

select
*,
COUNT(*)
AS
"nCount"
from
emp
group
by
dept_id
結果那
nCount
就是對應每個
dept_id
的記錄數計數

select
*,
SUM(salary)
AS
"nTotal"
from
emp
group
by
dept_id
結果那
nTotal
就是對應每個
dept_id

salary
合計

sql中什麼情況下用分組

你指的應該是「group by」吧?
其實可以這樣理解,舉個例子:
比如,一張「學生成績表」,現在要求你分別求出(注意是「分別」)男生和女生的平均成績(註:指的是「所有男生的平均成績」和「所有女生的平均成績」),此時,你就必須通過「性別」欄位進行分組,然後才可以分別求出男生和女生平均成績!
【個人感覺學習這些語句的時候最好賦予實際的環境中去理解,這樣更清楚也更好理解。希望我的回答對你有所幫助!】

⑶ 如何進行資料庫分組統計

兩種分組方法:
透視表法:操作簡單,但分組步長固定,必須等距分組,無法靈活調整;
函數法:操作稍微復雜,但分組步長可靈活調整,可進行不等距分組。

⑷ 在資料庫中 如何進行分類分組並總計SQL信息

可以增加一個WHERE子句限定由GROUP BY分組的數據。例如,下面的語句僅返回肯塔基地區顧客的郵政編碼列表。
SELECT ZIP
FROM Customers
WHERE State = 'KY'
GROUP BY ZIP
在GROUP BY子句求數據的值之前,WHERE對數據進行過濾,記住這一點很重要。
和GROUP BY一樣,WHERE不支持聚合函數。

⑸ sql 分組統計

--SQL SERVER 2000 動態SQL。
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 課程 when ''' + 課程 + ''' then 分數 else 0 end) [' + 課程 + ']'
from (select distinct 課程 from tb) as a
set @sql = @sql + ' , cast(avg(分數*1.0) as decimal(18,2)) 平均分 , sum(分數) 總分 from tb group by 姓名'
exec(@sql)

普通行列轉換
問題:假設有張學生成績表(tb)如下:
姓名 課程 分數
張三 語文 74
張三 數學 83
張三 物理 93
李四 語文 74
李四 數學 84
李四 物理 94
想變成(得到如下結果):
姓名 語文 數學 物理
---- ---- ---- ----
李四 74 84 94
張三 74 83 93
-------------------
*/
create table tb(姓名 varchar(10) , 課程 varchar(10) , 分數 int)
insert into tb values('張三' , '語文' , 74)
insert into tb values('張三' , '數學' , 83)
insert into tb values('張三' , '物理' , 93)
insert into tb values('李四' , '語文' , 74)
insert into tb values('李四' , '數學' , 84)
insert into tb values('李四' , '物理' , 94)
go

--SQL SERVER 2000 靜態SQL,指課程只有語文、數學、物理這三門課程。(以下同)
select 姓名 as 姓名 ,
max(case 課程 when '語文' then 分數 else 0 end) 語文,
max(case 課程 when '數學' then 分數 else 0 end) 數學,
max(case 課程 when '物理' then 分數 else 0 end) 物理
from tb
group by 姓名

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

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

⑺ 資料庫中如何分類、分組並總計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對數據進行過濾,記住這一點很重要。

⑻ SQL 分組

select
學生編號,學生姓名,sum(分數)
as
總分數
from
student
group
by
學生編號,學生姓名
學生編號分組放在姓名前面
這樣即使姓名一樣
但是學號不一樣
還是2條值!~

⑼ 資料庫按不同規則分組怎麼做

Finereport中有一個自定義分組-分組報表可以解決這個需求:

1.問題描述

通常情況下,數據是通過某一欄位來進行分組,如日期欄位,每個日期對應一個組,此時分組過於詳細,希望按照年與周來分組顯示。如下圖:

3.保存並預覽

保存模板,最終效果如上圖。

⑽ SQL2000資料庫里分組是什麼意思

group by, 是分組檢測,若在分組上還有條件要用having來指出條件
count是統計符合條件的數量並去掉重復的,給你個例子:
有學生表S(s#,sn,sex,age)即學號,姓名,性別,年齡,課程表C(c#,cn)課程號,課程名選課表SC(s#,c#,grade)學號,課程號,成績
例:檢索出來選修課程至少等於3門的學生學號和選課的門數
SQL>select s#,count(*)
from sc
group by s#
having count(*)>=3;不知道你能不能明白

熱點內容
裝緩存下載 發布:2024-09-20 05:42:36 瀏覽:72
gon引擎自動回收腳本 發布:2024-09-20 05:39:39 瀏覽:246
好醫生連鎖店密碼多少 發布:2024-09-20 05:09:38 瀏覽:15
魔獸腳本代理 發布:2024-09-20 05:09:35 瀏覽:98
python登陸網頁 發布:2024-09-20 05:08:39 瀏覽:757
安卓qq飛車如何轉蘋果 發布:2024-09-20 04:54:30 瀏覽:178
存儲過程中in什麼意思 發布:2024-09-20 04:24:20 瀏覽:315
php顯示數據 發布:2024-09-20 03:48:38 瀏覽:501
源碼安裝軟體 發布:2024-09-20 03:44:31 瀏覽:354
入門編程游戲的書 發布:2024-09-20 03:31:26 瀏覽:236