SELECT ADDDATE(y.first, x.d - 1) as d FROM ( SELECT 1 AS d UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL SELECT 22 UNION ALL SELECT 23 UNION ALL SELECT 24 UNION ALL SELECT 25 UNION ALL SELECT 26 UNION ALL SELECT 27 UNION ALL SELECT 28 UNION ALL SELECT 29 UNION ALL SELECT 30 UNION ALL SELECT 31 ) x, ( SELECT CURDATE() - INTERVAL DAY(CURDATE()) - 1 DAY AS first, DAY(LAST_DAY(CURDATE())) AS last) y WHERE x.d <= y.last
+-----------------------------------------+
| curdate()-interval day(curdate())-1 day |
+-----------------------------------------+
| 2011-08-01 |
+-----------------------------------------+
1 row in set (0.03 sec)mysql>
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html8、如何给分和结贴?
http://community.csdn.net/Help/HelpCenter.htm#结帖
mysql> select XXX();
+-----------------------------------------+
| XXX |
+-----------------------------------------+
| 2011-08-01 |2011-08-02 |2011-08-03 |2011-08-04 |2011-08-05 |2011-08-06 |2011-08-07 |2011-08-08 |2011-08-09 |2011-08-10 |2011-08-11 |2011-08-12 |2011-08-13 |2011-08-14 |2011-08-15 |
+-----------------------------------------+
1 row in set (0.03 sec)
mysql> select XXX();
+-----------------------------------------+
| XXX |
+-----------------------------------------+
| 2011-08-01 |
| 2011-08-02 |
| 2011-08-03 |
| 2011-08-04 |
| 2011-08-05 |
| 2011-08-06 |
| 2011-08-07 |
| 2011-08-08 |
| 2011-08-09 |
| 2011-08-10 |
| 2011-08-11 |
| 2011-08-12 |
| 2011-08-13 |
| 2011-08-14 |
| 2011-08-15 |
+-----------------------------------------+
1 row in set (0.03 sec)
FROM
(
SELECT 1 AS d UNION ALL
SELECT 2 UNION ALL
SELECT 3 UNION ALL
SELECT 4 UNION ALL
SELECT 5 UNION ALL
SELECT 6 UNION ALL
SELECT 7 UNION ALL
SELECT 8 UNION ALL
SELECT 9 UNION ALL
SELECT 10 UNION ALL
SELECT 11 UNION ALL
SELECT 12 UNION ALL
SELECT 13 UNION ALL
SELECT 14 UNION ALL
SELECT 15 UNION ALL
SELECT 16 UNION ALL
SELECT 17 UNION ALL
SELECT 18 UNION ALL
SELECT 19 UNION ALL
SELECT 20 UNION ALL
SELECT 21 UNION ALL
SELECT 22 UNION ALL
SELECT 23 UNION ALL
SELECT 24 UNION ALL
SELECT 25 UNION ALL
SELECT 26 UNION ALL
SELECT 27 UNION ALL
SELECT 28 UNION ALL
SELECT 29 UNION ALL
SELECT 30 UNION ALL
SELECT 31
) x,
(
SELECT CURDATE() - INTERVAL DAY(CURDATE()) - 1 DAY AS first,
DAY(LAST_DAY(CURDATE())) AS last) y
WHERE x.d <= y.last