简体   繁体   English

MySQL在同一张表中计数不同的值

[英]MySQL count different value in same table

I am working on a database right now, and I am trying to select some special data. 我现在正在使用数据库,正在尝试选择一些特殊数据。 so the table looks like this. 所以桌子看起来像这样

name  title  type

Type is including two different value, "book" and "paper". 类型包括两个不同的值,“书”和“纸”。

And this is the result I would like to get 这就是我想要得到的结果

name       book  paper
person A   0     1
person B   1     2
person C   0     5

What is the best way to write the query it in MySQL. 在MySQL中编写查询的最佳方法是什么。

You may use conditional aggregation: 您可以使用条件聚合:

SELECT
    name,
    SUM(CASE WHEN type = 'book'  THEN 1 ELSE 0 END) AS book,
    SUM(CASE WHEN type = 'paper' THEN 1 ELSE 0 END) AS paper
FROM yourTable
GROUP BY
    name;

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

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