2013-01-18 151 views
1

我期待從昨天獲得最大時間戳。將數據存儲爲日期時間。mySQL查詢最大時間戳昨天

Db的佈局是表名:盈利

Coloumns:身份證,收入,時間戳

目前國內做的命令:

SELECT earnings, timestamp FROM earnings WHERE timestamp = (SELECT MAX(timestamp) FROM earnings) 

現在我想擺脫昨天的最高時間戳.. ..請讓我知道通過mySQL或PHP和MySQL做這件事的最佳方式。

回答

2
SELECT earnings, timestamp 
FROM earnings 
WHERE timestamp = (SELECT MAX(timestamp) 
        FROM earnings 
        WHERE DATE(timestamp) = DATE_ADD(CURDATE(),INTERVAL -1 DAY)) 

SELECT a.* 
FROM earnings a 
     INNER JOIN 
     (
      SELECT MAX(timestamp) max_Date 
      FROM earnings 
      WHERE DATE(timestamp) = DATE_ADD(CURDATE(),INTERVAL -1 DAY) 
     ) b ON a.timestamp = b.max_Date 
0

爲什麼每個人都喜歡子查詢這麼多?

SELECT * FROM earnings ORDER BY timestamp DESC limit 1 

你的第一個查詢,

SELECT * FROM earnings WHERE timestamp < CURDATE() ORDER BY timestamp DESC limit 1 

第二

+0

我同意這一個,但它不處理上有最大的時間戳記錄的聯繫。 –