表格中有很多项目。每个都有一个user_id。
我想了解每位用户的商品数量以及商品总数。
如果我这样做:
SELECT COUNT(id)
FROM items
GROUP BY user_id
...我得到每个用户的项目数,但我无法获得分组的项目总数。
是否可以这样做?
如果是这样,这是一种很好的做事方式吗?
选择它们后,我会更好地总结计数吗?
答案 0 :(得分:3)
以下查询将为您提供一个额外的行,其中包含项目总数s和user_id = NULL。
SELECT user_id, COUNT(id) n_items
FROM items
GROUP BY user_id WITH ROLLUP
答案 1 :(得分:1)
这样的东西......?
SELECT COUNT(*)
FROM items
UNION
SELECT COUNT(id)
FROM items
GROUP BY user_id
然后第一个结果将是总数,后续结果将是分组总数。
但就个人而言,我只是按照你所说的group by
查询后添加它们。