Filtering results in SQL -


say have table follows:

right | group_id | score 1         1          5.6 0         1         3.1 0         1         -1.5 0         1          7         1         2          4.3 0         2          55.8 0         1         -6 

how sort group (so group 1's together, 2's etc..) sort score. (something order group_id, score). want filter out top 3 results each group. i.e resulting table be:

right | group_id | score 0         1          7 1         1         5.6 0         1         3.1 0         1          7         1         2          55.8 0         2          4.3 

thanks!

using ansi sql, can do:

select right, group_id, score (select t.*,              dense_rank() on (partition groupid order score desc) seqnum       t      ) t seqnum <= 3 order groupid; 

Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -