[英]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.