找到两个日期之间的金额总和
Posted
技术标签:
【中文标题】找到两个日期之间的金额总和【英文标题】:find the sum of amount between 2 dates 【发布时间】:2014-09-17 10:12:05 【问题描述】:我有一个包含 id、amount、date 的表付款。 我需要计算两个日期之间的总金额.. 我有一个表格,用户可以在其中输入开始日期和结束日期..我需要计算两个日期之间的总金额..
查询
$result = mysql_query("SELECT sum(amount)
FROM payment
WHERE (date BETWEEN '$date' and '$date1')");
I m getting the wrong sum..
这是它从数据库中获取的记录
捐款总额:600
Membership No | Month | Date | Amount
--------------+-----------+--------------+-----------
14015 | October | 2014-09-13 | 600
14017 | October | 2014-09-14 | 400
14013 | October | 2014-09-17 | 100
14015 | November | 2014-09-17 | 500
【问题讨论】:
$date 和 $date1 的值是多少? 使用日期字段在表单中输入 @user3675208 他问过你测试过的值吗?给一个演示你测试的日期 我可以知道您在数据库中日期字段的数据类型 错误是日期格式 【参考方案1】:输入格式为“dd MMM yyyy”
"SELECT sum(amount)
FROM payment
WHERE (cast(date as nvarchar(12) BETWEEN '$date' and '$date1')"
或
"SELECT sum(amount)
FROM payment
WHERE (convert(nvarchar(12),date,106) BETWEEN '$date' and '$date1')"
【讨论】:
【参考方案2】:您可以尝试格式化日期变量,例如 --`
$date="13-09-2014";
$date1="17-09-2014";
$date=date_format ( $date, 'Y-m-d' );
$date1=date_format ( $date1, 'Y-m-d' );
$result = mysql_query("SELECT sum(amount)
FROM payment
WHERE (date BETWEEN '$date' and '$date1')");
`
【讨论】:
【参考方案3】:查询-
SELECT sum(amount) FROM payment WHERE date BETWEEN
STR_TO_DATE('$date','%m/%d/%Y')
and
STR_TO_DATE('$date1','%m/%d/%Y')
SQL FIDDLE DEMO
【讨论】:
以上是关于找到两个日期之间的金额总和的主要内容,如果未能解决你的问题,请参考以下文章