私は映画(ここではhttp://sqlfiddle.com/#!9/009e8/1で見ることができます)を持っており、各ムービーにはジャンルとリリース日があります。グループごとのSQLのグループ化と制限の結果
CREATE TABLE Movie (
ID int,
Title varchar(255),
Genre varchar(255),
Year int
);
INSERT into Movie VALUES(1, 'Movie 1', 'Horror', 1982);
INSERT into Movie VALUES(1, 'Movie 2', 'Drama', 1983);
INSERT into Movie VALUES(1, 'Movie 3', 'Horror', 1984);
INSERT into Movie VALUES(1, 'Movie 4', 'Comedy', 1985);
INSERT into Movie VALUES(1, 'Movie 5', 'Sci-Fi', 1986);
INSERT into Movie VALUES(1, 'Movie 6', 'Horror', 1987);
INSERT into Movie VALUES(1, 'Movie 7', 'Drama', 2010);
INSERT into Movie VALUES(1, 'Movie 8', 'Horror', 2008);
INSERT into Movie VALUES(1, 'Movie 9', 'Horror', 2006);
INSERT into Movie VALUES(1, 'Movie 10', 'Comedy', 2004);
INSERT into Movie VALUES(1, 'Movie 11', 'Horror', 2003);
INSERT into Movie VALUES(1, 'Movie 12', 'Drama', 2002);
INSERT into Movie VALUES(1, 'Movie 13', 'Comedy', 1999);
INSERT into Movie VALUES(1, 'Movie 14', 'Drama', 1967);
INSERT into Movie VALUES(1, 'Movie 15', 'Sci-Fi', 1982);
INSERT into Movie VALUES(1, 'Movie 16', 'Drama', 2009);
INSERT into Movie VALUES(1, 'Movie 17', 'Sci-Fi', 2008);
私は100本のドラマの映画を持っている場合、私は100本のホラー映画、特定のジャンル(SELECT * FROM Movie WHERE Genre in ('Horror', 'Drama')
)ですべてのムービーを取得することができるが、だから、今年
が注文したジャンルあたりの結果を制限したいですそして100コメディ、私は2つの最も古いドラマと2つの最も古いホラー映画がほしいです。
Sqlでこれを行う方法?標準SQLにはそれができない場合、私はPostgresのに
私はそれがcteとrownumberを使って行うことができると思います –