OVER clause is useful for windowing and analytics.
    In practice, it feels like a STATA statement:

    1. // STATA CODE
    2. bysort varlist: egen varname = func() ...

    Read these documents below for further information.

    Earlier, when I wanted to do a random sample by group, I should have made it this way, by using rand() function.

    SELECT *
      FROM (
            SELECT varlist,
                   row_number() over(PARTITION BY dim ORDER BY rand()) AS rn FROM ...
           ) AS tmp
     WHERE tmp.rn > 10