レポートを実行し、特定の年の月ごとにユーザーがシステムに入力された回数を表示する必要があるユーザーのテーブルがあります。最初の列が個別のユーザーを返すテーブルを作成しました。次に、右側に、ユーザーが月ごとに何回入力されたかを示したいと思います。私が現在持っているコードは、毎月の合計のみをカウントし、すべてのユーザーの合計を毎月入れます。以下の例では、ユーザーごとに 5 月に 7、6 月に 13、7 月に 12 がリストされています。しかし、以下のように月ごとに分けて表示したいと思います。
Users May June July
User1 1 2 3
User2 1 1 2
User3 5 10 7
<?php
$sql = "SELECT record,count(*) as TotalCount,
(select DISTINCT count(*) from Table1 WHERE datereceived BETWEEN '2012-05-01' AND '2012-05-31') as May,
(select DISTINCT count(*) from Table1 WHERE datereceived BETWEEN '2012-06-01' AND '2012-06-30') as June,
(select DISTINCT count(*) from Table1 WHERE datereceived BETWEEN '2012-07-01' AND '2012-07-31') as July
FROM Table1 GROUP BY record";
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$stmt = sqlsrv_query( $conn, $sql , $params, $options );
if( $stmt === false)
{
echo "Error in query preparation/execution.\n";
die( print_r( sqlsrv_errors(), true));
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
?>
<tr id="styling">
<td class="style"><?php echo $row['record']; ?></td>
<td class="style"><?php echo $row['May']; ?></td>
<td class="style"><?php echo $row['June']; ?></td>
<td class="style"><?php echo $row['July']; ?></td>
</tr>
<?php } ?>