How to drop top N row in each group

Hi All,

Table t:

t:(id:aaaabbbb;val1:1 2 3 4 5 6 7 8;val2:2 3 4 5 6 7 8 9)

id val1 val2


`a  1  2

`a  2  3

`a  3  4

`a  4  5

`b  5  6

`b  6  7

`b  7  8

`b  8  9

I need to drop top N row in each group

e.g. N=2, and get this result:

id val1 val2


`a  3  4

`a  4  5

`b  7  8

`b  8  9

this qsql can get it

ungroup select 2_val1,2_val2 by id from t

However, if there are 100+ columns, how to do is better?

Thanks!

q)t raze exec 2_i by id from t

id val1 val2


a  3    4   

a  4    5   

b  7    8   

b  8    9