我知道COUNT(*)的基本用法,我想知道我是否可以使用它或其他功能来获得以下结果。
我有一张桌子上有人和他们购买的产品(product_id
_)。我有第二个表格,它将每个product_code
映射到一个product_category
。
使用简单的SELECT
我可以将两个表组合起来得到:
first last product_code product_category
John BGood 100 Food
John BGood 29 Beverage
John BGood 30 Beverage
Rita Black 25 Fashion
Betty Rock 36 Electronics
Betty Rock 72 Food
Betty Rock 100 Food
Betty Rock 36 Electronics
但我想要的是为每个人计算从每个类别购买的产品数量。 product_category
是一个包含5个可能值的枚举(上面的四个和Other
)。我想找一张像这样的表:
first last product_category count
John BGood Food 1
John BGood Beverage 2
John BGood Fashion 0
John BGood Electronics 0
John BGood Other 0
Betty ...
答案 0 :(得分:0)
尝试此查询
SELECT first, last, product_category, count(product_category)
FROM <table_name>
GROUP BY product_category
答案 1 :(得分:0)
SELECT first, last, product_category, COUNT(product_code)
FROM <table>
ORDER BY last, first
GROUP BY first, last, product_category
答案 2 :(得分:0)
将GROUP BY person_id, product_category
附加到您的SELECT。