+-
数据透视表PHP / MySQL
什么是在php / MySQL中处理数据透视表的最佳方法(或者那种效果)

我有一个返回信息的查询,如下所示

id      eng     week        type                sourceid    userid

95304   AD      2012-01-02  Technical           744180      271332
95308   AD      2012-01-02  Non-Technical       744180      280198
96492   AD      2012-01-23  Non-Technical       1056672     283843
97998   AD      2012-01-09  Technical           1056672     284264
99608   AD      2012-01-16  Technical           1056672     283842
99680   AD      2012-01-02  Technical           1056672     284264
100781  AD      2012-01-23  Non-Technical       744180      280671

我想在PHP中构建一个报告,该报告按周开始的列标题组进行计数.例如.

week commencing: 2012-01-02    2012-01-09    2012-01-16    2012-01-23    2012-01-30
Total:           3             1             1             1             0
Technical:       2             1             1             0             0
Non-Technical:   1             0             0             1             0

但我不确定从哪里开始,因为标题是动态的,具体取决于报告将在哪个月运行.

我知道如何传递月份的详细信息并检索PHP中的所有数据,但它当前在一列中输出,而不是能够将其分组并将其放入数组中.

任何帮助赞赏!

最佳答案
您可以使用子查询执行此操作,然后生成和聚合此数据.尝试一下这样的事情:

select week, 
    count(*) as total, 
    sum(technical) as technical, 
    sum(non_technical) as non_technical) 
from(
    select week, 
    case(type) when 'Technical' then 1 else 0 END as technical, 
    case(type) when 'Non-Technical' then 1 else 0 END as non_technical
) as data
GROUP BY week
点击查看更多相关文章

转载注明原文:数据透视表PHP / MySQL - 乐贴网