有一個MySQL 表:從MySQL排除排年紀比今天
+----+-------+------+------------+---------+
| id | name | type | date | deleted |
+----+-------+------+------------+---------+
| 1 | nameA | 1 | 2016:10:15 | 1 |
+----+-------+------+------------+---------+
| 2 | nameB | 1 | 2016:10:20 | 0 |
+----+-------+------+------------+---------+
| 3 | nameC | 2 | 2016:09:26 | 0 |
+----+-------+------+------------+---------+
| 4 | nameD | 2 | 2016:09:30 | 0 |
+----+-------+------+------------+---------+
| 5 | nameE | 3 | 2016:09:26 | 0 |
+----+-------+------+------------+---------+
我想SELECT
一切,除非刪除= 1,除非類型= 2的日期比今天更舊(2016: 09:27)。所以,我嘗試使用NOT IN
,但我做的方式不包括還可以鍵入= 3具有比今天更舊的日期:
$currentDate = date("Y:m:d");
$sql = "SELECT * FROM table WHERE deleted != 1 AND date NOT IN
(SELECT date FROM table WHERE type = 2 AND date < '$currentDate') ORDER BY date";
任何幫助嗎?謝謝!
謝謝,但在這種情況下,行與類型= 2和日期**比現在**更新將被排除在外太。 – mindSurf
你提到比今天更早,所以今天不比今天更早。檢查修改後的查詢,現在它應該也適用於今天。 –
這不是重點。好的,那麼id = 4的行會被打印出來嗎? – mindSurf