Advertisement
Anzak

Select one row for each group

Jan 18th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- 1 Group by groupcol,
  2. -- 2 Sort by sortcol
  3. -- 3 Add numeration for every group
  4.  
  5. SELECT TABLE.*,
  6. ROW_NUMBER() over (PARTITION BY TABLE.groupcol ORDER BY sortcol) AS rm -- set number for each group
  7. FROM TABLE;
  8.  
  9. -- leave only one row for each group
  10.  
  11. SELECT * FROM
  12.   (SELECT TABLE.*,
  13.   ROW_NUMBER() over (PARTITION BY TABLE.groupcol ORDER BY sortcol) AS rm -- set number for each group
  14.   FROM TABLE)
  15. WHERE rm = 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement