简体   繁体   English

你可以在不同的列上分组和计算mysql吗?

[英]Can you group and count in mysql on different columns?

Users have a list with items in different categories. 用户有一个列表,其中包含不同类别的项目。 I want to know how many items a user has in each category. 我想知道用户在每个类别中有多少项。

User    |   item  | category
____________________________
Bill    |   car   | new
Bill    |   truck | used
Bill    |   boat  | new
Bill    |   house | old
Sue     |   car   | used
Sue     |   truck | used
Bill    |   bike  | new
Sue     |   viola | used

I'd like the results 我想要结果

User category
__________________________
Bill|  new   |  3
Bill|  used  |  1
Bill|  sold  |  1

I've tried 我试过了

$SQL = "SELECT COUNT(DISTINCT CATEGORY) FROM LIST WHERE USER=Bill";

but it doesn't get me very far. 但它并没有让我走得很远。

Thanks 谢谢

You need to use group by statement: 您需要使用group by语句:

select user, category, count(distinct item)
from mytable
where user = 'Bill'
group by user, category

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM