Mysqlは日付のみを更新し、時、分、秒は更新しません。Mysqlは30日以内に1日あたり最大のデータを取得します。

================================

©著作権サツマイモ八尾2022-03-10

https://www.cnblogs.com/fanshuyao/

1. mysqlは日付のみを更新し、時間、分、秒は更新しません

方法1:

#mysql只更新日期,不更新时分秒
#mysql只修改日期字段的年月日,不修改时分秒

UPDATE table_name SET create_time=DATE_FORMAT(CONCAT('2022-03-10 ',TIME(create_time)),'%Y-%m-%d %H:%i:%S');

方法2:

#mysql只更新日期,不更新时分秒
#mysql只修改日期字段的年月日,不修改时分秒

UPDATE device_detail l SET l.`create_time`= ADDTIME(DATE('2022-03-10') + INTERVAL 0 HOUR, TIME( l.`create_time`)) WHERE l.`id`=1;

次に、mysqlは1日の最大値のデータを取得します

#取每天最大值的数据

SELECT DATE_FORMAT(create_time, "%Y-%m-%d") create_time, MAX(temperature) temperature, MAX(humidity) humidity, 
MAX(smog) smog, MAX(fan) fan, MAX(acousto_optic) acousto_optic
FROM device_detail 
WHERE DATE_FORMAT(create_time, "%Y-%m-%d")='2022-03-07'
GROUP BY DATE_FORMAT(create_time, "%Y-%m-%d");

3.MySQLは30日以内にデータをフェッチします

#取30天内的数据

SELECT * FROM device_detail
WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(create_time);

第4に、mysqlは30日間で1日あたり最大のデータを取得します

#取30天内每天最大的数据

SELECT DATE_FORMAT(create_time, "%Y-%m-%d") create_time, MAX(temperature) temperature, MAX(humidity) humidity, 
MAX(smog) smog, MAX(fan) fan, MAX(acousto_optic) acousto_optic
FROM (
SELECT * FROM device_detail
WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(create_time)
) t
GROUP BY DATE_FORMAT(create_time, "%Y-%m-%d");

(時間は貴重です。共有は簡単ではありません。寄付して還元してください、^ _ ^)

 

================================

©著作権サツマイモ八尾2022-03-10

https://www.cnblogs.com/fanshuyao/

おすすめ

転載: blog.csdn.net/w995223851/article/details/123415533