所有付款的MYSQL总值字段

时间:2014-09-03 13:10:31

标签: php mysql sql

我一直在四处寻找,似乎无法找到答案,并希望得到任何帮助。

简而言之,我有两张桌子,付款和会员。

我已完成以下操作,以查找会员ID与付款ID列中的ID匹配的所有付款。

<?php
include("../connect.php");
$result = mysql_query("SELECT Payments.value, Payments.date, Payments.method, Payments.id,
Payments.expiredate
FROM Payments
INNER JOIN members
ON Payments.id=members.id;");
$num = mysql_num_rows ($result);

if ($num > 0 ) {
$i=0;
while ($i < $num) {
$value = stripslashes(mysql_result($result,$i,"Payments.value"));
$date = stripslashes(mysql_result($result,$i,"Payments.date"));
$method = stripslashes(mysql_result($result,$i,"Payments.method"));
$id = stripslashes(mysql_result($result,$i,"Payments.id"));
$expiredate = stripslashes(mysql_result($result,$i,"Payments.expiredate"));
echo '  
<tr>
<td align="left">member' .$id. '</td>
<td align="left">' .$method. '</td>
<td align="left">' .$date. '</td>
<td align="right">&pound;' .$value. '</td>
<td align="right">' .$expiredate. '</td>
</tr>
';
++$i; }} else { $row = 'no payments'; }
mysql_close();
?>

此回复付款ID与会员ID匹配的所有会员付款。

现在问题我需要做以下事情: 1)总价值增加所以我可以看到已经经历了多少“tills”并且理想地按月分组(Payments.date),尽管我可以自己做月份。

e.g。所以它回声

Payments.value - Payments.id - Payments.date
Payments.value - Payments.id - Payments.date
Payments.value - Payments.id - Payments.date
TOTAL Payments value

任何帮助将不胜感激。请保持答案/帮助尽可能简单,因为我还是sql / php的新手,但享受它:)

1 个答案:

答案 0 :(得分:0)

而不是使用以下查询

SELECT Payments.value, Payments.date, Payments.method, Payments.id,
Payments.expiredate
FROM Payments
INNER JOIN members
ON Payments.id=members.id

并遍历结果集,您可以尝试使用以下查询

select sum(a.value), a.method, date_format(a.date,'%y-%m') as paydate 
FROM Payments a INNER JOIN members b ON a.id = b.id 
group by paydate,a.method;

以上查询将根据付款日期和付款方式对数据进行汇总。