IBM DB2希望获取表中每个重复项的唯一计数,并将其列为表的另一个值

时间:2012-11-27 16:26:04

标签: sql db2

我有一个DB2表(orderitems),其中包含名为ORDERITEMS_ID和ORDERS_ID的列。我希望获得与每个orders_id相关联的所有orderitems_id的计数。我可以得到计数,但我希望order_id与该计数相关联。

我试过

SELECT COUNT(orderitems_id) as total 
FROM orderitems 
GROUP BY orders_id 
ORDER BY total DESC

我相信这给了我order_id中每个项目的总数。但我不确定如何使用结果集

添加order_id

如果我尝试以下

SELECT orders_id, COUNT(orderitems_id) as total 
FROM orderitems 
GROUP BY orders_id 
ORDER BY total DESC

这是一个错误的查询

我已经考虑加入,但似乎正在处理两个表...不确定如何附加此信息。

1 个答案:

答案 0 :(得分:1)

试试这个:

select distinct orders_id, 
       count(orderitems_id) as total 
from orderitems 
group by orders_id 
order by total desc

总结您想要做的事情往往会有所帮助。在这种情况下,您希望每个不同的orderitems_id计算orders_id,例如对于orders_id的每个不同值而不是每行。如果您想要根据列的不同值获得结果,请考虑distinct