Php Sql查询以获取符合条件的记录
我想计算一家特定公司的以下各项,即13: 总学分 二手信用卡 旧电话 我的数据如下图所示。 我已经计算了信用卡金额总和,即200+100+5000+100=5400 现在我想计算使用的信用,应该是这样的Php Sql查询以获取符合条件的记录,php,mysql,sql,Php,Mysql,Sql,我想计算一家特定公司的以下各项,即13: 总学分 二手信用卡 旧电话 我的数据如下图所示。 我已经计算了信用卡金额总和,即200+100+5000+100=5400 现在我想计算使用的信用,应该是这样的 200 + 100 + 5000 + 70 = 5370 值70是因为它来自上一个包 即信用额100-剩余信用额30=70 您可以看到充值日期,如果该日期大于当前日期,则套餐处于活动状态。所以,目前的活动包是第一个在上面的截图我已经附加 我怎样才能找到用过的信用卡 在同一场景中使用的呼叫总数
200 + 100 + 5000 + 70 = 5370
值70是因为它来自上一个包
即信用额100-剩余信用额30=70
您可以看到充值日期,如果该日期大于当前日期,则套餐处于活动状态。所以,目前的活动包是第一个在上面的截图我已经附加
我怎样才能找到用过的信用卡
在同一场景中使用的呼叫总数。。会的
200 / 0.24 = 833.33
100 / 0.24 = 416.667
5000 / 0.20 = 25000
70 / 0.30 = 233.33
因此,使用的调用将是上述调用的总和,约为26483.33
这是我的查询代码,它没有给出我需要的值:
SELECT (SELECT Sum(credit_amount)
FROM `company_credit`
WHERE `company_id` = 13) AS total_credit,
Sum(credit_amount / rate) AS used_calls,
Sum(credit_amount) AS used_credit
FROM `company_credit`
WHERE `company_id` = 13
AND recharge_date < Now()
ORDER BY `id` DESC
此查询适用于公司_id=13。如果您为所有公司id计算相同的逻辑,只需删除WHERE条件并按公司id放置GROUP。您将获得所有公司的计算记录
尝试上面的查询
在这里,我只是使用CASE来指定哪些记录有剩余的信用
使用这个查询,你可以最终计算出你的短信总量,使用的积分,总积分
请看看这是否有用。我不明白你的逻辑。为什么你只为那一张唱片而拿唱片?你是什么意思?我对进行一次查询以获取这些记录,然后我将在php中为不同的公司使用它,无论哪个公司当时登录。我只想做上面的查询。@TimBiegeleisen它的到期日大于当前日期_date@SagarGangwal美好的catch@AsfandyarKhan坚持下去。。!!
SELECT Sum(credit_amount) AS total_credit,
Sum(CASE WHEN recharge_date < Now() THEN (credit_amount / rate) ELSE ((credit_amount-credit_reamining) / rate) END ) AS total_sms,
Sum(CASE WHEN recharge_date < Now() THEN credit_amount ELSE (credit_amount-credit_reamining) END ) AS used_credit
FROM `company_credit`
WHERE `company_id` = 13
ORDER BY `id` DESC
SELECT SUM(credt_amount) ,
SUM(
CASE
WHEN cr_date >
(SELECT cur_date FROM tbl_eod_bod_stat
)
THEN credt_amount - credt_rem
ELSE credt_amount
END ) AS Used_Credit ,
SUM(
CASE
WHEN cr_date >
(SELECT cur_date FROM tbl_eod_bod_stat
)
THEN (credt_amount - credt_rem)/rate
ELSE ( credt_amount / rate)
END) AS rateDiv
FROM tbl_company_2;