php - 如何使用 SUM(CASE) 和日期间隔来选择用户及其金额列表和总金额

标签 php mysql

我有一个表,其中包含用户列表以及他们每天节省的金额。我想选择他们每天节省的所有钱,并列出他们节省的所有详细信息(金额)。

问题:我找不到该日期间隔的总和

enter image description here

SELECT 
cust_name,
ac_no,
amount,
SUM(CASE WHEN (trans_date > DATE_SUB(NOW(), INTERVAL 1 MONTH)) 
THEN amount ELSE 0 END) as todalTotal from contributions
where username = 'james12'
GROUP BY id

这就是我想要实现的目标

$que = mysqli_query($con,"SELECT  cust_name,
ac_no,
amount FROM contributions
 WHERE username='$username' 
"
);
while($row = mysqli_fetch_array($que))
{

$sql =mysqli_query($con,"SELECT SUM(amount) as total FROM contributions WHERE trans_date > DATE_SUB(NOW(), INTERVAL 3 DAY) AND username='$username' ");

$rows = mysqli_fetch_array($sql);

echo $rows["total"] . "<br>";
echo $row["cust_name"] . "<br>";
}

$rows["total"] will appear the number of times $row["cust_name"] appears which I don't want. I want $rows["total"] to appear just once.

最佳答案

您必须选择列,然后告诉它所在的位置。然后只需使用 SUM 即可。

SELECT SUM(amount) AS AmountSaved
FROM yourtable

SQLdatabase

关于php - 如何使用 SUM(CASE) 和日期间隔来选择用户及其金额列表和总金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58341660/

相关文章:

php - 如何通过在 php 中使用 javascript 选择从 SQL 填充的下拉列表来将 SQL 中的值检索到文本区域中

php - 更改 wordpress the_content() 帖子的字体颜色

mysql - 创建包含两个表的 View ,其中第二个表没有唯一 ID

mysql - 某些整数数据类型是否与其他编程语言不同?

导入到新机器后,MySQL ENUM 列将与引用的值不匹配

php和mysql不显示数据,不进入foreach循环

php - 我可以根据值使用 usort 在 php 中对数组进行排序吗

javascript - 这段代码如何以其他形式发送变量是正确的?

php - 为什么 attach 方法在 Laravel 中返​​回 null?

mysql - 无法执行 SQL 查询