Сводные таблицы 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