我是新来的,对于我整天都在努力解决的问题,我将不胜感激。
考虑这两个表:
albums (pkey: id) years (pkey: album_id, year)
id genre_id album_id year
--- -------- -------- ----
450 1 450 2000
451 1 450 2001
452 1 450 2002
453 2 451 2005
454 3 451 2012
452 1998
这可能看起来很奇怪,但请假设一张专辑可以与多年相关联。
我想选择流派 1 中的所有专辑,按每张专辑的最新年份排序。(假设可以按年份排序)。
所以,我想要这个结果:
id year
----- ----
451 2012
450 2002
452 1998
这就是我在...
显然,我需要在订购结果之前加入表格:
SELECT id, year
FROM albums INNER JOIN years ON albums.id = years.album_id
WHERE genre_id = 1
ORDER BY year;
这将为流派 1 中的每张专辑选择每年的记录,而不是为流派 1 中的每张专辑选择最新的年份记录。
不知何故,我需要像这样合并一个子查询,以将加入专辑表的年份限制为该专辑的最新年份,然后再次排序:
SELECT year FROM years WHERE album_id = ??? ORDER BY year DESC LIMIT 1;