sql按照时间条件求存量

 SELECT DATE_FORMAT(a.t, '%Y') as dateStr,
         sahe.entity_level,
               SUM(sahe.num)           AS yearCount
        FROM (SELECT DATE_SUB(now(), INTERVAL + 5 YEAR ) AS t
				     UNION
				       SELECT DATE_SUB(now(), INTERVAL + 4 YEAR ) AS t
              UNION
              SELECT DATE_SUB(now(), INTERVAL + 3 YEAR ) AS t
              UNION
              SELECT DATE_SUB(now(), INTERVAL + 2 YEAR ) AS t
              UNION
              SELECT DATE_SUB(now(), INTERVAL + 1 YEAR ) AS t) a
              LEFT JOIN
			 ( SELECT count(id) as num ,year , entity_level FROM 
             screen_animal_husbandry_entity   group BY year , entity_level ORDER BY `year` 
        DESC , entity_level DESC )  
        sahe ON sahe.year  <= DATE_FORMAT(a.t, '%Y')
        GROUP BY  a.t , sahe.entity_level ORDER BY a.t DESC , sahe.entity_level DESC 

你可能感兴趣的:(sql,数据库)