MySQL在同一个表中计算不同的值

时间:2018-02-18 04:11:44

标签: mysql

我正在研究数据库,我正在尝试选择一些特殊数据。 所以表格看起来像这样。

name  title  type

类型包括两个不同的值," book"和"纸张#34;。

这是我想要的结果

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

在MySQL中编写查询的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用条件聚合:

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;
相关问题