我如何计算MySQL中的行数?

时间:2010-11-08 08:51:00

标签: mysql count

我知道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 ...

3 个答案:

答案 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。