下面的sql可以查询近6个月的数量
SELECT a.month,nvl(b.num,0) AS num
FROM (
SELECT TO_CHAR(ADD_MONTHS(sysdate, 1-ROWNUM),
'yyyy-MM') AS month
FROM DUAL
CONNECT BY ROWNUM <=6
) a LEFT JOIN (
SELECT substr(UPLOAD_TIME,1,7) AS DATETIME, count(*) AS num
FROM t1
WHERE 1=1
GROUP BY substr(UPLOAD_TIME,1,7)
) b ON a.month = b.datetime order by month desc