0
這裏是我的表:如何分類時間戳?
+----+-----------------+
| id | timestamp |
+----+-----------------+
| 1 | 1452001861 | -- yesterday
| 2 | 1452088272 | -- today
| 3 | 1452088283 | -- today
| 4 | 1451915461 | -- last week
| 5 | 1452001861 | -- yesterday
| 6 | 1452088263 | -- today
| 7 | 1252388263 | -- out of {today, yesterday, last week}
| 8 | 1452088312 | -- today
| 9 | 1452001762 | -- yesterday
| 10 | 1222388263 | -- out of {today, yesterday, last week}
| 12 | 1451915459 | -- last week
+----+-----------------+
現在我要選擇這樣的:
+----+-----------------+---------------+
| id | timestamp | range |
+----+-----------------+---------------+
| 1 | 1452001861 | yesterday |
| 2 | 1452088272 | today |
| 3 | 1452088283 | today |
| 4 | 1451915461 | last week |
| 5 | 1452001861 | yesterday |
| 6 | 1452088263 | today |
| 7 | 1252388263 | out |
| 8 | 1452088312 | today |
| 9 | 1452001762 | yesterday |
| 10 | 1222388263 | out |
| 12 | 1451915459 | last week |
+----+-----------------+---------------+
// ^this column isn't a real column
嗯,有什麼我能做的就是選擇就在今天:
SELECT
id,
date_time
FROM
viewed
WHERE
DATE_FORMAT(FROM_UNIXTIME(`date_time`), '%Y-%m-%d') >= (DATE_FORMAT(NOW(), '%y-%m-%d') - INTERVAL 1 DAY)
正如我說,這個查詢^今天選擇時間戳。
我的問題:現在我想知道,我怎麼能擴大我的查詢{今天,昨天 - 上週}?
我不認爲有一個內置的分級「今天」,「昨天」,「上週」在MySQL。所有你能做的就是計算今天以來的天數(類似'DATEDiFF(CURDATE(),timestamp)AS daysSinceToday'),然後讓你的PHP腳本對它進行分類('if($ daysSinceToday == 0)// today // elseif ($ daysSinceToday == 1)//昨天// elseif($ daysSinceToday> 7)//最近7天//')。當你想像SO一樣打印出來的時候,你還必須先讓它們按MySQL排序。 –