Mysql 对旋转或转置值的计数

标签 mysql sql pivot

<分区>

我的数据库中有一个表

+------+------+----------+
| id   | dept | location |
+------+------+----------+
|    1 | eee  | chennai  |
|    2 | ece  | chennai  |
|    3 | eee  | chennai  |
|    4 | ece  | chennai  |
|    5 | eee  | cbe      |
|    6 | ece  | trichy   |
|    7 | mech | madurai  |
+------+------+----------+

我需要在转置其中一列时对 id 进行计数。谁能建议我查询以获得以下结果

+---------+------+-----+------+
| location| eee  | ece | mech |
+---------+------+-----+------+
| chennai | 2    | 2   |  0   |
| cbe     | 1    | 0   |  0   |
| trichy  | 0    | 1   |  0   |
| madurai | 0    | 0   |  1   |
+---------+------+-----+------+

谢谢你的帮助

最佳答案

select location as city,
       sum(dept = 'eee') as eee,
       sum(dept = 'ece') as ece,
       sum(dept = 'mech') as mech
from your_table
group by location

关于Mysql 对旋转或转置值的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51414858/

相关文章:

mysql - SQL/Laravel - 为什么我的查询返回空集合?

mysql - Sails_mysql 适配器

laravel-4 - Laravel - 三个模型的数据透视表 - 如何插入相关模型?

r - 如何使用pivot_longer保存到多列?

php - 使用 AJAX、PHP 和 MySQL 链式填充 HTML 选择框

javascript - 自动添加复选框值并保留其名称以存储在数据库中

sql - 数据库中的原子比较和交换

php - Mysql事务: commit and rollback

sql - 从日期范围内的表中删除数百万条记录

python - 如何更有效地将分号分隔的列转换为 0/1/2 指示矩阵?