我有以下准备好的语句,它返回为特定类别找到的行:
if ($stmt = $mysqli->prepare("SELECT Work,Amount from work_times where Category=?")) {
$stmt->bind_param("s", $category);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($work,$amount);
while ($stmt->fetch()) {
echo $work.": £".$amount." each<br>";
}
我想做的是调整它以按“工作”列和“金额”列对行进行分组,为每个组返回一行,每个行/组都有一个 SUM 和计数,以便我可以输出像这样的东西:
5次咨询会议,每次50英镑:250 英镑
2013 年 2 月 1 日 2013 年2 月
8 日 2013年 2 月
15 日 2013年 2 月
22 日 2013 年
3 月 1 日
3次治疗,每次40英镑:120 英镑
2013 年 2月 2 日 2013 年 2 月
9 日 2013年 2 月
16 日
2 次治疗,每次20英镑:40 英镑
2013 年 2 月3 日 2013 年 2 月
10 日
其中每行中的粗体文本对应于:组中的行数、金额(对于每个会话)和组中每行的金额值的总和。我希望这很清楚!
我不确定如何调整上面的陈述来实现这一点。
以上将是下表的结果:
ID | Work | Amount
1 | Therapy Session | £40 | 2013-02-02
2 | Consultancy Session | £50 | 2013-02-01
3 | Therapy Session | £20 | 2013-02-03
4 | Consultancy Session | £50 | 2013-02-08
5 | Consultancy Session | £50 | 2013-02-15
6 | Therapy Session | £40 | 2013-02-09
7 | Consultancy Session | £50 | 2013-02-22
8 | Therapy Session | £40 | 2013-02-16
9 | Therapy Session | £20 | 2013-02-10
10 | Consultancy Session | £50 | 2013-03-01
按行数对组进行排序,如上面的输出所示,理想情况下是我正在寻找的。