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

Capture and play voice with Asterisk ARI -

java - Why database contraints in HSQLDB are only checked during a commit when using transactions in Hibernate? -

visual studio - Installing Packages through Nuget - "Central Directory corrupt" -