對乙個表的多個列進行統計

2021-10-24 19:09:19 字數 1733 閱讀 4211

統計多列資料到一張橫表中

select t.

*,b.name as

'mc'

,substring(t.dm,1,

2)as sz from

(select xqdh as

'dm'

,sum

(case

when km1=

'語文'

and klmc=

'高起文'

then

1else

0end)as

'wkyw'

,sum

(case

when km2=

'數學'

and klmc=

'高起文'

then

1else

0end)as

'wksx'

,sum

(case

when km3=

'英語'

and klmc=

'高起文'

then

1else

0end)as

'wkyy'

,sum

(case

when km4=

'史地綜合'

then

1else

0end)as

'sdzh'

,sum

(case

when km1=

'語文'

and klmc=

'高起理'

then

1else

0end)as

'lkyw'

,sum

(case

when km2=

'數學'

and klmc=

'高起理'

then

1else

0end)as

'lksx'

,sum

(case

when km3=

'英語'

and klmc=

'高起理'

then

1else

0end)as

'lkyy'

,sum

(case

when km4=

'理化綜合'

then

1else

0end)as

'lhzh'

,sum

(case

when yswy=

2then

1else

0end)as

'ey'

,sum

(case

when yswy=

3then

1else

0end)as

'ry'

from

[basedata]

.[examinfos]

group

by xqdh)t,code.counties b

where b.

no= t.dm

order

by dm

原資料

統計結果

對乙個列資料,按照需求進行分組

假如有乙個需求 有288個點的值,轉化為24個的值 思路為每十二點求一次平均值,作為轉化後24的乙個點的值 難點 要求,為零的引數不假如算平均值,比如1 12,12對應的值為0,此時對應的24點的某乙個值為 sum 11 表結構大概如下 表aperiodid value1a b288 c表b per...

儲存過程 根據乙個表對另乙個表進行更新

編寫mysql儲存過程,通過查詢乙個表中資料,更新到另外乙個表中 舉例來說,存在兩張表roledata,scoreinfo,下面儲存過程,通過游標,遍歷查詢scoreinfo表中scroe的值來更新表roledata中的role scroe值 drop procedure if exists pro...

乙個表中的兩列與另乙個表的一列關聯的結果顯示

station表 列名 stationid 站點編號 stationlon 站點經度 stationlat 站點緯度 record表 列名 recorkid 記錄編號 stationgoid 借出站點編號 stationbackid 歸還站點編號 查詢結果顯示列 stationgoid 借出站點編號...