SQL - 将数据转换为日期/源/值 "grid"

标签 sql mysql

我的 MYSQL 数据库中有如下数据:

Project    Date         Time
A          2009-01-01   15
A          2009-01-02   10
B          2009-01-02   30
A          2009-01-09   15
C          2009-01-07   5

我想从这些数据中生成输出,如下所示:

Date         Project A Time     Project B Time    Project C Time
2009-01-01   15                 0                 0
2009-01-02   10                 30                0
2009-01-07   15                 0                 5 

这可以通过 SQL 查询来完成,还是需要编写外部脚本来迭代数据库并组织输出?

(另外,如果有人对主题行有更好的建议,请告诉我,我将编辑问题;我不确定描述当前和所需格式的正确术语,这使得搜索此信息变得困难困难)

最佳答案

您正在寻找数据透视表/交叉表支持。这是一个很好的链接。

http://en.wikibooks.org/wiki/MySQL/Pivot_table

关于SQL - 将数据转换为日期/源/值 "grid",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/800503/

相关文章:

php - sql select 'in' 语句中的多个参数

sql - 使用公用表表达式进行简单选择

php - 安装 Drupal 7 时的数据库配置

Mysql:游标声明中的过程调用

mysql - 加入 mysql 和 sphinx

php - 如何计算 mysql 中的行总数而不出现 fatal error : Allowed memory

sql - 如何用SQL解决这个问题?

sql - 错误 : "Multiple columns are specified in an aggregated expression containing an outer reference."

sql - 如何使用 SQL 跨两个表选择数据,其中每个表中的字段匹配?

java - 在 MATLAB 中,我可以将 java boolean 值转换为 MATLAB 逻辑值吗?