mysql如何获取某一天的最大值?

时间:2018-05-05 20:56:02

标签: php mysql

我有一张表,其中包含传感器数据:

  

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

现在我需要选择某一天的最大值

我得到可变数字,例如" 1" ,这意味着它应该是昨天的最高值。

那么我如何使用这个数字来获得今天的最大值?

我知道到目前为止还有这个结构:

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

还获得了最大值的查询:

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

但是我把这与日期结合起来有问题......

希望你能提供帮助。 THX

2 个答案:

答案 0 :(得分:0)

如果昨天持有的变量是$ date_less而$ datetime是持有currnet日期的变量,那么你的代码看起来像这样

$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'));

有关添加日期的更多信息,您可以看到此link

答案 1 :(得分:0)

根据您问题中的信息(并使用您的变量名称),我认为此查询适用于您:

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