MySQL Query with multiple LIMITS

前端 未结 5 764
甜味超标
甜味超标 2021-01-12 17:49

Let\'s say I have the following table with hundreds of toys of various colors...

---------------------------
  ITEM  |  COST  |  COLOR
----------------------         


        
5条回答
  •  半阙折子戏
    2021-01-12 18:31

    ROW_NUMBER() could be used:

    SELECT *
    FROM (SELECT *, ROW_NUMBER() OVER(PARTITION BY COLOR ORDER BY COST) AS RN
          FROM TOYS
          WHERE COLOR IN ('YELLOW', 'WHITE', 'BLUE')) sub
    WHERE RN <= CASE COLOR WHEN 'YELLOW' THEN 1 WHEN 'WHITE' THEN 3 WHEN 'BLUE' THEN 2 END  
    

提交回复
热议问题