我有一个表中的项目负载。每个都有一个user_id。在一个SQL查询中选择COUNT(id)和总数
我想知道每个用户的物品数量以及物品的总数量。
如果我这样做:
SELECT COUNT(id)
FROM items
GROUP BY user_id
...我得到每个用户的项目数,但我不能得到物品的总数,因为他们进行分组。
可以做到这一点吗?
如果是这样,这是一种很好的做事方式吗?
在选择它们之后,我会更好地总结计数吗?
我有一个表中的项目负载。每个都有一个user_id。在一个SQL查询中选择COUNT(id)和总数
我想知道每个用户的物品数量以及物品的总数量。
如果我这样做:
SELECT COUNT(id)
FROM items
GROUP BY user_id
...我得到每个用户的项目数,但我不能得到物品的总数,因为他们进行分组。
可以做到这一点吗?
如果是这样,这是一种很好的做事方式吗?
在选择它们之后,我会更好地总结计数吗?
以下查询将为您提供额外的行,其中包含项目总数s和user_id = NULL。
SELECT user_id, COUNT(id) n_items
FROM items
GROUP BY user_id WITH ROLLUP
这样的事情......?
SELECT COUNT(*)
FROM items
UNION
SELECT COUNT(id)
FROM items
GROUP BY user_id
然后第一个结果将是总数,后续结果将是分组总数。
但个人而言,我只是在做完group by
查询之后再添加它们。
完美!我从来没有猜到... –
它也花了我一天的谷歌搜索和阅读当时找出...我不知道stackoveflow :) –