With the code below I can return this month and past 6 months.
My code:

```
SELECT TO_CHAR(add_months(TRUNC(to_date( sysdate),'Month'), -rownum+1), 'Month') mon,
      rownum month_order
FROM dual
CONNECT BY rownum <=
  (SELECT COUNT(mon)
   FROM
       (SELECT TO_CHAR( add_months( start_date, level-1 ), 'fmMonth' ) AS mon
        FROM
          (SELECT to_date( add_months(TRUNC(sysdate),-6)) start_date,
            to_date( sysdate) end_date
          FROM dual)
          CONNECT BY level <= months_between( TRUNC(end_date,'MM'), TRUNC(start_date,'MM') ) + 1) dual);

```

In the same way I have to return this date and past 9 dates.
Please help me on this to return 10 dates by using `connect by`.
Thanks in advance.