質問: ### 前提・実現したいこと SQLのselect文に関する質問です。 以下のようなテーブルがあるとき、 DEPARTMENTの種類ごとに、IDの重複を取り除きたいです。 | ID | NAME | DEPARTMENT | | --- | --- | --- | | | | | select * from table where id in (select distinct id from table group by department); 以上のようなイメージの文を作成したいと思っていますが、 distinct文とgroupby文が併用できないことから、 departmentごとの重複削除ができません。 何か他に適した記述方法があればご教授いただけませんでしょうか。
回答: ROW_NUMBER 関数とPARTITION BY ORDER BY の例 で PARTITION BY で DEPARTMENTとID を、ORDER BYで NAME を、WHERE RNUM = NAME を指定しては? データベースの種類やバージョンによって使えない機能なので、DBの種類やバージョンを明示しましょう。 教授 → 教示 質問は修正できます。