我有這樣的一個表:MySQL的回報默認記錄,如果沒有匹配(無限制)
-----------------------------------------
| ID | ACTIVE | MESSAGE |
-----------------------------------------
| 0 | 0 | Default message |
-----------------------------------------
| 1 | 1 | Message one |
-----------------------------------------
| 2 | 1 | String two |
-----------------------------------------
| 3 | 0 | Text three |
-----------------------------------------
我一直在尋找一個MySQL查詢好幾個小時,我展示了紀錄ID = 0
爲默認結果如果沒有消息是「活動的」。如果有一個或多個活動消息,我想要獲取這些記錄。
SELECT * FROM table WHERE ACTIVE = 1;
另外,一個選項可以通過UNION或類似的想法在查詢中手動添加默認記錄。總是添加默認記錄,ORDER
,然後LIMIT 1
不適用於我,因爲我需要找回所有active
消息(如果存在的話),而不僅僅是一個。
另一個約束:我的表和WHERE
條件在現實世界中更復雜,處理開始和結束時間戳比較。
作品!非常感謝。 – user3362109