SELECT id HAVING maximum count of id

后端 未结 4 594
暖寄归人
暖寄归人 2020-12-15 22:39

Have a products table with item_id and color_id. I\'m trying to get the color_id with the most non-null instances.

This fails:

SELECT color_id 
           


        
4条回答
  •  庸人自扰
    2020-12-15 23:28

    SELECT color_id AS id, COUNT(color_id) AS count 
    FROM products 
    WHERE item_id = 1234 AND color_id IS NOT NULL 
    GROUP BY color_id 
    ORDER BY count DESC
    LIMIT 1;
    

    This will give you the color_id and the count on that color_id ordered by the count from greatest to least. I think this is what you want.


    for your edit...

    SELECT color_id, COUNT(*) FROM products WHERE color_id = 3;
    

提交回复
热议问题