我想選擇兩個日期範圍之間的數據。然而並非所有數據都是每天插入的。下面是該表的示例:選擇不存在的數據用MySQL,
mysql> SELECT * FROM attendance;
+------------+-------+
| date | total |
+------------+-------+
| 2012-07-02 | 100 |
| 2012-07-04 | 70 |
| 2012-07-05 | 78 |
+------------+-------+
3 rows in set (0.00 sec)
該場景是我想要從2012-07-02到2012-07-04的總出勤人數。根據以上數據,我會得到
mysql> SELECT * FROM attendance WHERE date BETWEEN '2012-07-02' AND '2012-07-04';
+------------+-------+
| date | total |
+------------+-------+
| 2012-07-02 | 100 |
| 2012-07-04 | 70 |
+------------+-------+
2 rows in set (0.00 sec)
但是我的目標是讓2012-07-03包含在結果中。
+------------+-------+
| date | total |
+------------+-------+
| 2012-07-02 | 100 |
| 2012-07-03 | 0 |
| 2012-07-04 | 70 |
+------------+-------+
這是可能通過MySQL的做什麼?我確實看過temporary table。但仍然無法達到目標。
謝謝。提供的SQL實際上沒有工作。一個小小的修復完成了這項工作。 'SELECT REF.date,IFNULL(A.total,0)作爲總FROM REF_DATE REF LEFT OUTER JOIN出勤甲 ON REF.date = A.date WHERE REF.date BETWEEN '20 -07-02' AND '2012-07-04';' –
向誰低估了這一點 - 請評論你爲什麼低估了它。 – Dojo