在SELECT查询中插入COUNT n1和n2列

时间:2013-12-05 09:50:59

标签: sql sql-server-2008-r2

我有一个包含item_name和item_color的表。 试图建立一个数据网格,我想显示项目总数和基于其他属性的分割计数,如颜色作为结果行。

例如,

我桌子上有10把椅子,所以item_name =' chair'应该给出三行,如下所述。

Item_name  Item_color  quantity
    Chair         ALL       10
    Chair         Red        5
    Chair         Black      5

有人能告诉我应该从哪里开始吗? 感谢

1 个答案:

答案 0 :(得分:2)

尝试使用UNION ALL,然后使用GROUP BY子句聚合函数COUNT():

SELECT item_name, 'ALL', COUNT(*)  as Quantity
FROM tbl
GROUP BY item_name
UNION ALL 
SELECT item_name, item_color, COUNT(*) as Quantity
FROM tbl
GROUP BY item_name, item_color