Programing/WEB

[MySql] 그룹별 limit

진 주 2019. 9. 20. 15:15
SET @currcount = NULL, @currvalue = NULL;


SELECT y.* 
FROM ( 

    SELECT x.*, 
    @currcount := IF(@currvalue = x.category, @currcount + 1, 1) AS rank, 
    @currvalue := x.category AS tmp 
    FROM ( 
        SELECT category, content, reg_date 
        FROM table 
        WHERE yn = 'Y' 
        ORDER BY category ASC, reg_date DESC 
    ) x ORDER BY category ASC, reg_date DESC 
) y 
WHERE y.rank < 5;