I have a table as follows
Tablename : tb_daily_call_reports
+------------+-----------+
| username | date |
+------------+-----------+
| Peter | 5/5/2014 |
+------------+-----------+
| Steve | 5/5/2014 |
+------------+-----------+
| Peter | 5/5/2014 |
+------------+-----------+
| Peter | 5/5/2014 |
+------------+-----------+
| Peter | 5/6/2014 |
+------------+-----------+
| Steve | 5/6/2014 |
+------------+-----------+
| Peter | 5/6/2014 |
+------------+-----------+
| James | 5/7/2014 |
+------------+-----------+
| Steve | 5/7/2014 |
+------------+-----------+
| James | 5/8/2014 |
+------------+-----------+
| Peter | 5/8/2014 |
+------------+-----------+
| Steve | 5/8/2014 |
+------------+-----------+
| James | 5/8/2014 |
+------------+-----------+
| James | 5/8/2014 |
+------------+-----------+
What I would like to do is count the users in particular day and display the output as follows
+-----------+--------+---------+---------+
| | Peter | Steve | James |
+-----------+--------+---------+---------+
| 5/5/2014 | 3 | 1 | 0 |
+-----------+--------+---------+---------+
| 5/6/2014 | 2 | 1 | 0 |
+-----------+--------+---------+---------+
| 5/7/2014 | 0 | 1 | 1 |
+-----------+--------+---------+---------+
| 5/8/2014 | 1 | 1 | 3 |
+-----------+--------+---------+---------+
Using SQL query I get the required result (for clarity username = user_detail_id)
SELECT date,
count(IF (user_detail_id = 'Peter', date, NULL)) AS 'Peter',
count(IF (user_detail_id = 'Steve', date, NULL)) AS 'Steve',
count(IF (user_detail_id = 'James', date, NULL)) AS 'James',
FROM tb_daily_call_reports
GROUP BY date;
I need to implement this using CakePHP 2.x.
Thank you!