假设有一个名为weather的表,包含以下列:id、date、temperature。

可以使用以下SQL查询来查找与昨天相比温度更高的所有日期的id:

SELECT id
FROM weather
WHERE temperature > (
  SELECT temperature
  FROM weather
  WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
)
AND date != DATE_SUB(CURDATE(), INTERVAL 1 DAY)

解释:

  • 子查询 SELECT temperature FROM weather WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) 会返回昨天的温度值。

  • 主查询中的 WHERE 子句 temperature > (...) 会将所有温度高于昨天的温度的日期筛选出来。

  • AND date != DATE_SUB(CURDATE(), INTERVAL 1 DAY) 防止将昨天的日期也包含在内

编写一个 SQL 查询来查找与之前昨天的日期相比温度更高的所有日期的 id 。

原文地址: https://www.cveoy.top/t/topic/hdnf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录