[英]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.