1

昨日から最大のタイムスタンプを取得しようとしています。データを日時として保存します。

DBレイアウトはテーブル名:収益

列: ID、収益、タイムスタンプ

現在実行中のコマンド:

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

今、昨日から最高のタイムスタンプを取得したいと思います.... mySQLまたはPHPとmySQLのいずれかを使用してこれを行う最良の方法を教えてください。

4

2 に答える 2

3
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
于 2013-01-18T05:41:40.233 に答える
0

なぜ誰もが副選択をそんなに好むのでしょうか?

SELECT * FROM earnings ORDER BY timestamp DESC limit 1

最初のクエリ、および

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

第二に

于 2013-01-18T05:48:47.970 に答える