實例:計算點擊率(CTR)SQL - 如何計算x/y的標準差(stddev)?
CAST(SUM(num_clicks) as DOUBLE)/CAST(SUM(num_impression) as DOUBLE) as CTR
我怎麼能計算點擊率的標準差? stddev(CTR)將不起作用,因爲它將是嵌套的集成函數...此外,我無法先計算CTR,然後在其上運行stddev。
實例:計算點擊率(CTR)SQL - 如何計算x/y的標準差(stddev)?
CAST(SUM(num_clicks) as DOUBLE)/CAST(SUM(num_impression) as DOUBLE) as CTR
我怎麼能計算點擊率的標準差? stddev(CTR)將不起作用,因爲它將是嵌套的集成函數...此外,我無法先計算CTR,然後在其上運行stddev。
您可以先計算點擊率,然後使用子查詢運行STDDEV_POP
。
SELECT STDDEV_POP(ctr) AS ctr_stddev
FROM (
SELECT CAST(SUM(num_clicks) as DOUBLE)/CAST(SUM(num_impression) as DOUBLE) AS ctr
FROM yourTable
WHERE ...
GROUP BY ad_id) AS temp
酷!爲什麼STDDEV_POP而不是STDDEV_SAMP? – user3164317
我不太確定哪一個是對的,我只是挑了其中一個。 – Barmar
爲什麼你不能先計算點擊率,然後在其上運行'STDDEV'?將CTR計算放入子查詢中,並在外部查詢中執行'STDDEV'。 – Barmar