[英]selecting rows based on date
我有兩個表,任務和動作。 操作有兩列,created_at和updated_at。 任務有一列started_at
我該怎么做
SELECT MAX( UNIX_TIMESTAMP( tasks.started_at ) ) AS started_at, action . *
FROM tasks, action
WHERE UNIX_TIMESTAMP( action.created_at ) > started_at
OR UNIX_TIMESTAMP( action.updated_at ) > started_at
嘗試選擇具有比MAX(tasks.started_at)大的created_at或Updated_at的所有動作
SELECT * FROM actions
WHERE created_at>(SELECT MAX(started_at) FROM tasks) OR
updated_at>(SELECT MAX(started_at) FROM tasks)
不必擔心性能,默認情況下,MySQL應該緩存SELECT MAX(started_at) FROM tasks
值。 如果您有其他配置,請在主查詢中添加SQL_CACHE
: SELECT SQL_CACHE * FROM...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.