簡體   English   中英

MySQL如何獲得某一天的最大值?

[英]mysql how to get max value for a certain day?

我有一個包含傳感器數據的表:

id,name(varchar),value(float),time(datetime)

現在我需要選擇某一天最大值

我得到一個像“ 1”這樣的可變數字 ,這意味着它應該是昨天的最高值。

那么我如何使用這個數字來獲得這一天的最大值?

我知道到目前為止有這樣的構造:

subdate(CURDATE(), ".$day.")

並獲得最大值查詢:

SELECT MAX(value) AS value FROM ".$tablename." WHERE sensor_id=? AND value_id=?

但是我很難將其與日期結合在一起...

希望您能提供幫助。 謝謝

如果您昨天持有的變量為$ date_less,而$ datetime是持有當前日期的變量,則您的代碼如下所示

$datetime   = date("Y-m-d H:i:s");
$date_less  = 1;
"SELECT MAX(value) AS value FROM ".$tablename." WHERE sensor_id=? AND value_id=? and `time` = ".date('Y-m-d H:i:s', strtotime($datetime.' -'.$date_less.' days'));

有關添加日期的更多信息,您可以看到此鏈接

根據您問題中的信息(並使用您的變量名),我認為此查詢將為您工作:

$query = "SELECT MAX(value) AS value 
          FROM " . $tablename . "
          WHERE sensor_id=? AND
                value_id=? AND 
                DATE(time)=SUBDATE(CURDATE()," . $days . ")";

暫無
暫無

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

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