1. SELECT DATE_FORMAT( DATE_SUB( DATE_FORMAT( NOW(),'%Y-%m-%d'),INTERVAL ( -(@i:=@i+1) ) HOUR ) ,'%Y-%m-%d %H') AS 'time'
    2. FROM (
    3. SELECT a FROM
    4. (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' ) AS a
    5. JOIN ( SELECT '1' UNION SELECT '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' UNION SELECT '6' ) AS b
    6. ON 1
    7. ) AS b ,(SELECT @i:=-1) AS
    SELECT DATE_FORMAT(DATE_SUB(DATE_FORMAT(NOW(), '%Y-%m-%d %H'), INTERVAL ((@i := @i + 1)) HOUR), '%d %H') AS 'time'
    FROM (SELECT a
          FROM (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4') AS a
                   JOIN (SELECT '1'
                         UNION
                         SELECT '2'
                         UNION
                         SELECT '3'
                         UNION
                         SELECT '4'
                         UNION
                         SELECT '5'
                         UNION
                         SELECT '6') AS b
                        ON 1) AS b,
         (SELECT @i := -1) AS i;
    
    SELECT
     DATE_FORMAT(
      DATE_SUB(
       DATE_FORMAT(NOW(), '%Y-%m-%d %H'),
       INTERVAL ((@i :=@i + 1)) MONTH
      ),
      '%m'
     ) AS 'time',(@c :=@c + 1) AS rank
    FROM
     (
      SELECT
       a
      FROM
       (
        SELECT
         '1' AS a
        UNION
         SELECT
          '2'
       ) AS a
      JOIN (
       SELECT
        '1'
       UNION
        SELECT
         '2'
        UNION
         SELECT
          '3'
         UNION
          SELECT
           '4'
          UNION
           SELECT
            '5'
           UNION
            SELECT
             '6'
      ) AS b ON 1
     ) AS b,
     (SELECT @i :=- 1) AS i,(SELECT @c := 0) c