带有日期的mysql单元格值作为带有年份的新列

标签 mysql

我有一个 mysql 数据库,如下所示:

|id  | city  |  created  |
|1   | city1 |2011-12-10 |
|2   | city2 |2010-02-01 |
|3   | city3 |2009-12-03 |
|4   | city1 |2012-11-16 |
|5   | city2 |2012-08-03 |
|6   | city3 |2011-10-01 |
|7   | city1 |2009-10-02 |
|8   | city2 |2011-12-01 |
|9   | city3 |2012-06-30 |

但我想要一个看起来像这样的替代表或 View

|city  | 2009 | 2010 | 2011 | 2012 |
|city1 |   1  |  0   | 1    | 1    |
|city2 |   0  |  1   | 1    | 1    |
|city3 |   1  |  1   | 0    | 1    |

最佳答案

也许是这样的:

SELECT
    YourTable.city,
    SUM(IF(YEAR(created)=2009,1,0)) AS '2009',
    SUM(IF(YEAR(created)=2010,1,0)) AS '2010',
    SUM(IF(YEAR(created)=2011,1,0)) AS '2011',
    SUM(IF(YEAR(created)=2012,1,0)) AS '2012'
FROM
    YourTable
GROUP BY
    YourTable.city

关于带有日期的mysql单元格值作为带有年份的新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989029/

相关文章:

mysql - 无法批量导入数据到mysql

从 MySQL 数据库引入之前的 PHP preg_replace 字段

php - "and ' 的 MySQL/PHP 问题

java - 如何使用 JAVA GUI 在数据库 MySQL 中乘以 2 列?

java - 如何在jsp页面上显示来自mysql数据库的图像?

php - sql中删除重复记录的方法

php - 如何在 PhalconPHP 中实现单个表列的多个条件

php - 每天两次更新 IP 按钮选项?

php - Symfony Doctrine ORM ManyToMany - 带标签的博客 - 我没有从博客中获取所有标签,没有延迟加载

mysql - SQL中如何查询multi 'or'和a and?