這句話好像有點不好理解,來看個範例.
資料表 `bus`
|-`id` (索引)
|-`start` (開始時間)
|-`during` (經過時間)
從上方這個資料表我們可以知道,這輛巴士的開始時間與經過的時間,
有了開始時間與經過時間很容易推算結束時間。
就是 `start` + `during` = `end`
非常容易理解。
那如果假設今天要搜尋結束時間為大於 1432598400 (UNIX TIME)
下意識的語法是
SELECT *,(`start`+`during`) AS `end` FROM `bus` WHERE `end` >= 1432598400很不幸的....MySQL 會吐出討厭的紅色錯誤...
那該怎麼解決呢?
其中一種方法是,先準備好資料表,再進行排序.....
SELECT * FROM (SELECT *,(`start`+`during`) AS `end` FROM `bus`) AS `table` WHERE `end` >= 1432598400
這樣子就可以WORK了!!!!
應該是還有其他用法,目前這樣可以就先擋著用......
沒有留言:
張貼留言