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

2021-10-01 08:26:37 字數 733 閱讀 1598

假如有乙個需求:

有288個點的值,轉化為24個的值

思路為每十二點求一次平均值,作為轉化後24的乙個點的值

難點:要求,為零的引數不假如算平均值,比如1-12,12對應的值為0,此時對應的24點的某乙個值為:sum()/11

表結構大概如下:

表aperiodid

value1a

........

b288

c表b 

periodid

value1s

2.......

dd24

dsql:

select 

sum(value)/count(nullif(value,0)),periodid_24

from

(select periodid,case when mod(periodid/12)=0 then periodid/12+1 else pseriodid/12 end as periodid_24,value from a)

group by

periodid_24

--此時轉化為24點完成

思路: 1.首先按照1-288個點,對資料進行分組,比如1-12為一組,13-24為一組,然後給不同的組賦予不同的值即1-14

2.然後根據不同的值,對資料求和求平均值

3.難點要求,對於零值不參與平均值計算,此時通過nullif()函式進行判斷;

sqlserver按照一列進行分組查詢方法

效果和group by一樣,比group by要方便,相當對group by中同型別的值中新增乙個行號 partition by q q表示要進行分組查詢的字段 order by datatime datatime表示進行排序的字段 ccc表示別名 s.ccc 1表示取分組的第乙個 s是表的別名 s...

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

統計多列資料到一張橫表中 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 ...

js中對乙個物件陣列按照物件某個屬性進行排序

我們現在有一組 學生 物件,包含 名字,年齡,分數 等屬性,現在要求乙個演算法,把這些物件放在乙個陣列裡,可以實現按照年齡或者分數對這些物件進行排序。var sdts 那麼考點在哪呢,實際上在於陣列物件的sort方法 array.sort fun fun是乙個函式,排序根據這個函式返回值來進行判斷,...