2010-09-20 71 views
2

我有一個MySQL數據庫表,有一個unix時間戳字段。我想知道如何獲得最近的完整的13周?如何獲取最近的完整13周的記錄?

更新
但我需要選擇退出本週。所以我需要最後的完成(過去或今天結束)13周。

+0

什麼格式的時間戳, Date,Int/Unix? – RobertPitt 2010-09-20 11:49:33

+2

unix時間戳。 – Pentium10 2010-09-20 11:50:26

+0

哎呀,我的壞! – RobertPitt 2010-09-20 11:57:56

回答

2
WHERE FROM_UNIXTIME(timestamp) > DATE_SUB(FROM_UNIXTIME(timestamp), INTERVAL 13 WEEKS) 

如果你想在本週排除你可以這樣做:

WHERE FROM_UNIXTIME(timestamp) < DATE_SUB(NOW(), INTERVAL 1 WEEKS) 
+0

您能否幫我解決另一個問題:我需要退出本週。所以我需要最後一次完成(以過去或今天結束)13周。 – Pentium10 2010-09-22 05:06:11

+0

添加了相應的查詢。 – halfdan 2010-09-22 07:25:57

0
SELECT *,FROM_UNIXTIME(time) AS TS FROM MyTable WHERE TS > DATE_SUB(TS, INTERVAL 13 WEEKS) 

認爲應該工作

+0

他已經說過它是一個unix時間戳。 – halfdan 2010-09-20 11:54:35

+0

你會在'where子句'錯誤中得到'未知列'TS'! 'WHERE'子句不能引用別名!你必須在這裏使用'HAVING'。 – Anpher 2010-09-20 12:10:30

+0

您能否幫我解決另一個問題:我需要退出本週。所以我需要最後一次完成(以過去或今天結束)13周。 – Pentium10 2010-09-22 05:07:52