数据透视表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 的全部内容, 来源链接: utcz.com/qa/412966.html

回到顶部