我使用的是Pgadmin(mysql)。我必须打印一个名字的日期(第一年),所以我的代码给我这个。
"El padrino";1972
"El padrino";1972
"El padrino";1972
"El resplandor";1980
"El resplandor";1981
"Buenos muchachos";1990
"Buenos muchachos";1990
"Forrest Gump";1994
"Forrest Gump";1994
"Tiempos violentos";1994
"Tiempos violentos";1995
"Los 7 pecados capitales";1995
我需要取每部电影的名字与最古老的年份。像这样。
"El padrino";1972
"El resplandor";1980
"Buenos muchachos";1990
"Forrest Gump";1994
"Tiempos violentos";1994
"Los 7 pecados capitales";1995
我正在尝试用下面的代码。
SELECT min(titulo), MIN(EXTRACT(YEAR from f.fecha))
FROM pelicula p, f_estreno_pais f
WHERE p.id_pelicula = f.id_pelicula
GROUP BY p.id_pelicula, f.fecha
ORDER BY f.fecha;
但是,我不需要放弃这个表!我必须做一个选择,只有第一次的标题,它是显示。
我认为你只是想把电影年份从 group by
子句。
SELECT min(p.titulo), MIN(EXTRACT(YEAR from f.fecha)) min_fecha
FROM pelicula p
INNER JOIN f_estreno_pais f ON p.id_pelicula = f.id_pelicula
GROUP BY p.id_pelicula
ORDER BY min_fecha;
每部电影只给你一排,最低电影年份。
侧面说明。
始终使用标准的显式连接(使用 ON
关键字)而不是隐式连接(在 FROM
子句);这种几十年前的老语法不应该在新代码中使用。
在多表查询中,总是在所有列前加上它们所属的表--这样可以使查询清晰明了,而且更容易执行。