簡體   English   中英

填寫零的月份

[英]Fill zero for missing month

我試圖在缺少的月​​份顯示零,但未成功。

表:

clicks | impressions | ctr | position | month | year

  111       2709            4      20          3         2015
  101       2695            3      20          6         2015
  76        2714            2      21          7         2015
  .
  .
  .
  64        1212            4      25          11        2015
  81        1905            4      24          12        2015

要求的輸出:

clicks | impressions | ctr | position | month | year

   0          0             0       0           1       2015
   0          0             0       0           2       2015
  111       2709            4       20          3       2015
   0          0             0       0           4       2015
   0          0             0       0           5       2015
  101       2695            3       20          6       2015
   .
   .
   .
   64       1212            4       25          11      2015
   81       1905            4       24          12      2015

就像@jarlh建議的一樣,您可以這樣操作:創建一個包含所有月份可用值的“表”(您必須自己填寫該表,添加所需的月份和年份),然后將其加入原始表中,以及何時添加值不存在,請輸入0。

select coalese(s.clicks,0) as clicks,
       coalese(s.impressions ,0) as impressions,
       coalese(s.ctr ,0) as ctr ,
       coalese(s.position ,0) as position ,
       t.month,
       t.year
from(
    SELECT 1 as month_num,2015 as year_num
    union SELECT 2,2015
    union select 3,2015
    union select 4,2015 ....) t
LEFT OUTER JOIN YourTable s
ON(t.month_num = s.month and t.year_num = s.year)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM