當前位置:ag真人国际官网-ag旗舰厅官方网站 » 編程語言 » 分組sql

分組sql-ag真人国际官网

發布時間: 2022-01-08 05:18:35

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 姓名

❷ sql中分組短語是什麼

sql中分組短語是:group by。

group by 語句

group by 語句用於結合合計函數,根據一個或多個列對結果集進行分組。

group by 語法

select column_name, aggregate_function(column_name)from table_name where column_name operator valuegroup by column_name

group by 的使用:

1、 group by [expressions]:

這個恐怕是group by語句最常見的用法了,group by [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。比如有如下數據集,其中水果名稱(fruitname)和出產國家(proctplace)為聯合主鍵:


selectfruitname,proctplace,price,idaside,discount
fromt_test_fruitinfo
where(proctplace=n'china')orderbyide

這里只有在order by語句中才可以使用ide,其他條件語句中如果需要引用列名則只能使用id,而不能使用ide。

以上就是group by的相關使用說明。內容參考與網站csdn中的「sql語句group by 語句小結「。

❸ 分組sql語句

正常情況下,一樓的執行後會報錯,因為分組時丟下了dep.depname
再一個,你也沒問清楚,你想取sale表裡的什麼欄位,是銷售額的匯總還是條數?這樣說不清楚的話就沒法寫了,再說,如果單純的靠sale.depid和sale.prodid這兩個欄位分組,其他兩個表根本就沒用,因為這兩個欄位在銷售表中都存在

❹ sql 分組

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

資料庫中如何分類、分組並總計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 分組再分組 語句怎麼寫

你再說明一下 更進一步要求是:上述記錄中,只要czy欄位內容有不同的 是什麼意思?
比如說這樣的記錄
02 001
02 001
兩個欄位都相同 那麼這個查詢要不要呢?
再比如
02 001
02 001
02 002
查詢出來的又是什麼?三條記錄都要嗎?

❼ sql語句中,如何根據條件分組

首先,使用下面語句:
select date, count(date) cnt from user where date is not null group by date
結果:
date cnt
1月 2
2月 2
3月 1

在上面語句基礎上改進,使之與要求結果一致:
select max(case when date = '1月' then cnt else 0 end ) 1月,
max(case when date = '2月' then cnt else 0 end ) 2月,
max(case when date = '3月' then cnt else 0 end ) 3月
from (select date, count(date) cnt from user where date is not null group by date)

❽ sql語句實現分組統計

方法和詳細的操作步驟如下:

1、第一步,創建一個測試表,詳細代碼見下圖,轉到下面的步驟。

❾ sql語句分組怎麼寫

1.如果你的時間格式是2012-01-13 17:35:52.217這樣的形式,(主要是那個01不要是1),用下面這個 select convert(varchar(10),時間,23),sum(數字數據) from 表 group by convert(varchar(10),時間,23) 2.如果你的時間格式不是上面的格式,先轉化成datetime: select convert(varchar(10),cast(時間 as datetime),23) ,sum(數字數據) from 表 group by convert(varchar(10),cast(時間 as datetime),23) 3.如果報錯,請追問~

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图