Php 如何使用按日期和用户名分隔的while循环添加列的不同值(行)
我试图显示以日期和用户名分隔的用户付款Php 如何使用按日期和用户名分隔的while循环添加列的不同值(行),php,mysql,sql,while-loop,sum,Php,Mysql,Sql,While Loop,Sum,我试图显示以日期和用户名分隔的用户付款,即(按日期分组,用户名)。 这是数据库表 id | username | income | date | | | 1 | super | 750 | 2019-09-21 2 | super | 750 | 2019-09-21 3 | super | 1 | 2019-09-22 4 | super | 750 | 2019-09-22 这就是我
,即(按日期分组,用户名)
。
这是数据库表
id | username | income | date
| | |
1 | super | 750 | 2019-09-21
2 | super | 750 | 2019-09-21
3 | super | 1 | 2019-09-22
4 | super | 750 | 2019-09-22
这就是我正在尝试的代码
$income = 0;
while($row = mysqli_fetch_array($query)){
$income += $row['income'];
}
这就是我在查看记录日期时得到的输出
id | username | income | date
| | |
1 | super | 750 | 2019-09-21
2 | super | 751 | 2019-09-22
这就是我所期待的
id | username | income | date
| | |
1 | super | 1500 | 2019-09-21
2 | super | 751 | 2019-09-22
id | username | income | date
| | |
1 | super | 1500 | 2019-09-21
2 | super | 751 | 2019-09-22
我尝试的第二个选择是
sql查询
SELECT id, username, income, COUNT(*) AS total, date FROM payment
GROUP BY date, username
php代码
$income = 0;
while($row = mysqli_fetch_array($query)){
$income = $row['income'] * $row['total'];
}
这就是我得到的
id | username | income | date
| | |
1 | super | 1500 | 2019-09-21
2 | super | 2 | 2019-09-22
我在等你
id | username | income | date
| | |
1 | super | 1500 | 2019-09-21
2 | super | 751 | 2019-09-22
id | username | income | date
| | |
1 | super | 1500 | 2019-09-21
2 | super | 751 | 2019-09-22
在我看来,出现此问题的原因是行中的值1
,但不知道如何解决此问题。
如有任何建议,将不胜感激注意-收入
列的第三、第五、第七和第十行
将包含值1
如果按用户名和日期分组,则需要将所有行的收入相加(使用SUM()
)
所以SQL应该类似于
SELECT date, username, SUM(income) AS total
FROM payment
GROUP BY date, username