Sql 如何获取昨天所有城市的最小值?

Sql 如何获取昨天所有城市的最小值?,sql,postgresql,Sql,Postgresql,如何获取昨天所有城市的min值(temp)。 我想: 印多尔:最小值:昨天日期 博帕尔:最小值:昨天日期 孟买:最小值:昨天日期 select name, min(temp) from table where date(write_date) BETWEEN TRUNC(SYSDATE - 1) AND TRUNC(SYSDATE) - 1/86400 group by name 这将完成你的工作 这将完成你的工作在Postgres中,你可以做: select name, min(temp

如何获取昨天所有城市的min值(temp)。 我想: 印多尔:最小值:昨天日期 博帕尔:最小值:昨天日期 孟买:最小值:昨天日期

select name, min(temp) from table 
where date(write_date) BETWEEN TRUNC(SYSDATE - 1) 
AND TRUNC(SYSDATE) - 1/86400
group by name
这将完成你的工作


这将完成你的工作

在Postgres中,你可以做:

select name, min(temp)
from t
where write_date < current_date and
      write_date >= current_date - interval '1 day'
group by name;

但是,使用函数
date\u trunc()
可以防止使用
where
子句的索引。

在Postgres中,可以执行以下操作:

select name, min(temp)
from t
where write_date < current_date and
      write_date >= current_date - interval '1 day'
group by name;

但是,使用函数
date\u trunc()
可以防止使用
where
子句的索引。

使用'sysdate-1'where date='Today date()-1'此函数仍然会产生错误。.错误:列“sysdate”不存在第1行:…trunc之间的日期(write\u date)在哪里(SYSDATE-…先生,当我使用where date(write_date)='2018-03-29'但想使用今天的date-1时,它会起作用。Postgres(或标准SQL)中没有
SYSDATE
。您需要使用
current_date
使用'SYSDATE-1'where date='today date()-1'这一个,它仍然会给出错误..错误:列“SYSDATE”不存在第1行:…rent_weather where date(write_date)TRUNC(SYSDATE-…先生,当我使用where date(write_date)='2018-03-29'但希望使用今天的日期-1时,它将起作用。Postgres(或标准SQL)中没有
SYSDATE
。您需要使用当前日期,请阅读并接受接受答案。请阅读并接受答案