MySQL數(shù)據(jù)庫中,分組取前N個是非常常用的功能之一。而其中,分組取前3個in更是一個很有用的數(shù)據(jù)處理方法,可以準(zhǔn)確展示出數(shù)據(jù)的排名和分布情況。
SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY group_col ORDER BY sort_col ASC) as r FROM table WHERE in_col IN ('a', 'b', 'c') ) tmp WHERE tmp.r<= 3;
這段代碼實(shí)現(xiàn)了分組取前3個in的功能。其中,group_col是需要分組的列,sort_col是排序的列,in_col是需要匹配的列,'a', 'b', 'c'是in匹配的值。
需要注意的是,該代碼僅適用于MySQL8.0及以上版本。如果你正在使用低版本的MySQL,可以考慮使用subquery或Join的方式實(shí)現(xiàn)分組取前3個in的操作。
下一篇html小游戲原代碼