php - 你能在 mysql 中对不同的列进行分组和计数吗?

标签 php mysql count group-by

用户有一个列表,其中包含不同类别的项目。 我想知道用户在每个类别中有多少项。

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";

但这并没有让我走得太远。

谢谢

最佳答案

你需要使用group by语句:

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

关于php - 你能在 mysql 中对不同的列进行分组和计数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38087609/

相关文章:

PhpMyAdmin 自动刷新 MySQL 表

php - 从表中获取重复条目

php - 数据库返回记录作为对象还是数组?

mysql - 如何在 MYSQL 的 COUNT 中使用 SELECT

php - Laravel 4.1 如何获取索引 View 中每个父记录的条件子记录计数?

php - 如何防止 PHP 中的 SQL 注入(inject)?

php - MySQL DateTime 使用 PHP 增加 1 分钟

mysql - 如果不存在则插入 - 按所有列查找

mysql - 错误 1442 : Can't update table in stored function/trigger

sql - 轨道 3 事件记录 : order and group by association count