PHP MySQL 合并具有相同列值的行

标签 php mysql

我有一个看起来像这样的表:

year | url                | view
-------------------------------
2016 | /document/item.pdf | 21
2015 | /document/item.pdf | 35
2014 | /document/item.pdf | 41

我想建立另一个表,如下所示:

 url                | 2014 | 2015 | 2016
---------------------------------------
 /document/item.pdf | 41   | 35   | 21

我现在真的不知道我必须如何编写我的 mysql 查询才能做到这一点。 感谢您的帮助:)

最佳答案

你可以试试这个:

 SELECT  url,
            MAX(IF(`year` = 2014 , view, NULL)) '2014',
            MAX(IF(`year` = 2015, view, NULL)) '2015',
            MAX(IF(`year` = 2016, view, NULL)) '2016'
    FROM    pub
    GROUP   BY url

关于PHP MySQL 合并具有相同列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42505215/

相关文章:

php - 如何检测代理/垃圾邮件访问者?

mysql - 在 WHERE 子句中使用时,子查询是否被 MySQL 缓存?

php - 从同一个表中选择列

php - 创建一个 mysql 触发器以在列更新时插入数据

php - 显示 mysql 查询结果的 html 表中每行的第一个单元格中的复选框

php - 检测从数据库中提取的文件的 MIME 类型

php - 如何在参数为空时获取所有值

php - 为什么某些 MySQL 字段现在需要默认值?

javascript - Sequelize - 将新行添加到表并关联表

从数据库中获取数据的表中包含复选框的 PHP 文件?