PARTITION BY(Oracle)
社員テーブル
CREATE TABLE MEMBER ( MEMBER_ID NUMBER(3,0), MEMBER_NAME VARCHAR2(50) SECTION_ID NUMBER(3,0), );
SECTION_IDでGROUP BYした結果をMEMBER_IDで並び替えて、先頭の1件を取得
SELECT MEMBER_ID, MEMBER_NAME FROM ( SELECT MEMBER_ID, MEMBER_NAME, ROW_NUMBER() OVER (PARTITION BY SECTION_ID ORDER BY MEMBER_ID) RNUM FROM MEMBER ) WHERE RNUM = 1
参考:
http://www.shift-the-oracle.com/sql/functions/row_number-practice.html