表T1 字段1 create_date 日期类型 字段2 in_count 整数 
数据:
2011/01/02 1
2011/03/02 1
2011/03/04 1 
2011/03/05 3条件:2011/01/01 至 2011/03/10查询结果数据格式:
  create_date in_count
2011/01/01 0  
2011/01/02 1
2011/01/03 0
2011/01/04 0

2011/03/01 0
2011/03/02 1
2011/03/03 0
2011/03/04 1
2011/03/05 3

解决方案 »

  1.   

    建立日期的表,插入每天的日期
    然后用left join 
      

  2.   

    生成2011年的全部日期的LSB
    SELECT A.RQ,IFNULL(B.in_count,0) FROM LSB A 
    LEFT JOIN TT B
    ON A.RQ=B.create_date
    WHERE A.RQ BETWEEN '2011/01/01' AND '2011/03/10'
      

  3.   

    生成存放 2011年的全部日期的LSB
    表名,可自行修改DELIMITER $$USE `zz`$$DROP PROCEDURE IF EXISTS `rqpd`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `rqpd`()
    BEGIN
    DECLARE qq DATE;
    SET qq='2011-1-1';
    WHILE  qq<='2011-12-31' DO
    INSERT INTO lsb VALUES (qq);
    SET qq=qq+INTERVAL 1 DAY;
    END WHILE;
        END$$DELIMITER ;
      

  4.   

    MYSQL中没有层次查询,只能通过存储过程或者 辅助表 来完成。