数据库表
SELECT
a.*
FROM
article AS a
WHERE
(SELECT
COUNT(*)
FROM
article AS b
WHERE
b.article_type = a.article_type AND b.good >= a.good) <= 3
ORDER BY a.article_type ASC , a.good DESC
以article_type分类,以good排序
参考博客 https://blog.csdn.net/zdw19861127/article/details/80449691