簡體   English   中英

根據日期選擇行

[英]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_CACHESELECT SQL_CACHE * FROM...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM