所以我有一张桌子,列出了他们提供的所有服务以及他们prime_ministers
的服务。year
party
我需要 3 位信息;他们name
,他们的第一year
任和party
最后一年的任期(一些换党)。
桌子看起来有点像这样
min_nr|pm_name |party |yr_comm
----------------------------------------------
1 Barton E Protectionist 1901
.
.
.
11 Hughes W M Labour 1915
12 Hughes W M National Labour 1916
13 Hughes W M Nationalists 1917
14 Hughes W M Nationalists 1918
.
.
我已经做了很多搜索,但我不知道如何输入这个来获得结果。
Woo先生在评论部分做到了。事实证明,我不了解多个 JOINS 以及 ON 中 AND 的正确用法。
SELECT a.pm_name, a.party, c.minYear
FROM Table1 a
INNER JOIN
(
SELECT pm_name, MAX(yr_comm) maxYear
FROM table1
GROUP BY pm_name
) b ON a.pm_name = b.pm_name AND
a.yr_comm = b.maxYear
INNER JOIN
(
SELECT pm_name, MIN(yr_comm) minYear
FROM table1
GROUP BY pm_name
) c ON a.pm_name = c.Pm_name
编辑,很多很多的编辑