Rulende gennemsnit
jeg har brug for a lave et gennemsnit pr uge over omsætnings hastighed ud fra data i en tabelmin tabel ser sådan ud:
CREATE TABLE `sku_value_and_turnove` (
`ID` INT(6) NOT NULL AUTO_INCREMENT,
`CONTRACT` VARCHAR(50) NULL DEFAULT NULL,
`UNIK_ID` VARCHAR(50) NULL DEFAULT NULL,
`MINI_FACTORY` VARCHAR(100) NULL DEFAULT NULL,
`KG_ONHAND` DOUBLE NULL DEFAULT '0',
`VALUE_ONHAND` DOUBLE NULL DEFAULT '0',
`KG_YEAR` DOUBLE NULL DEFAULT '0',
`VALUE_YEAR` DOUBLE NULL DEFAULT '0',
`REG_DATE` DATETIME NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`),
INDEX `reg_date` (`MINI_FACTORY`),
INDEX `CONTRACT` (`CONTRACT`)
)
COLLATE='latin1_swedish_ci'
ENGINE=MyISAM
ROW_FORMAT=DYNAMIC
AUTO_INCREMENT=23414
;
jeg havde tænkt mig at kunne lave en SQL som nedenstående:
SELECT year(REG_DATE) as YEAR,
WEEK(REG_DATE,1) as WEEK,
round(avg(VALUE_YEAR)/avg(VALUE_ONHAND),2) as turnover_val,
round(avg(KG_YEAR)/avg(KG_ONHAND),2) AS turnover_vol
FROM sku_value_and_turnove WHERE CONTRACT = 'DK10'
and REG_DATE < DATE_SUB(CURRENT_DATE(), INTERVAL 1 WEEK)
and REG_DATE > DATE_SUB(CURRENT_DATE(), INTERVAL 12 WEEK)
GROUP BY year(REG_DATE) , WEEK(REG_DATE,1)
ORDER BY year(REG_DATE) , WEEK(REG_DATE,1)
jeg syntes dog ikke dette giver mig samme resultat som hvis jeg beregner det i Excel
er det muligt at lave et gennemsnit pr uge i en SQL eller skal ud i at lave en temp tabel med de uger jeg vil trække data fra og så efterfølgende lave en sql pr uge ?