【发布时间】:2017-07-13 14:03:04
【问题描述】:
我有一张名为 RELEASE 的表:
*Country, Album, Date_year, Date_month, Date_day*
Italy Z 1940 2 27
Italy Y 1992 11 22
Italy X 1940 1 20
Italy R 1998 null null
France W 1944 9 18
UK L 1989 8 21
UK P 1970 10 1
Germany E 2002 null null
我需要指定一个带有专辑名称、国家名称和日期(年、月、日)的 SQL 查询 strong>最古老的专辑。
(如果月和日的值为空也可以)
我不能使用 LIMIT、OFFSET、ROWNUM...我只能使用标准 SQL 构造。
我尝试进行此查询,但不正确:
SELECT country, album, min(date_year), min(date_month), min(date_day)
FROM release
结果会是:
*Country, Album, Date_year, Date_month, Date_day*
Italy X 1940 1 20
我该如何解决?谢谢
【问题讨论】:
-
为什么不能使用 LIMIT ?
-
不需要按年、月、日按国家、专辑(非聚合字段)顺序分组吗 1
-
@ValentinGenevrais LIMIT 已在 SQL:2008 中标准化。例如,它在 SQL Server 2000/2005 中不存在,在 Oracle 中也不存在。
-
NULL 表示指定时间段的开始还是结束?
-
@JeffUK(我认为)null 表示一个月的第一天和一年的第一个月
标签: mysql sql database postgresql musicbrainz