[英]PHP/Mysql -> AVG of billing/paydate per User
我有两个表:t_address->使用用户地址t_billing->使用t_address用户的计费信息
它们通过t_billing.bil_addressref = t_address.adr_ref链接
在帐单表格中,我有一个字段bil_date->开票日期/已发送bil_paydate->开票日期
我不想确定“最差的付款人”,即那些需要平均最长时间付款的人。
例如:
编号-bil_date-bil_paydate-adr_ref
1-2017年1月1日-2017年1月10日-1
2-2017-02-01-2017-02-10-1
3-2017年3月1日-2017年3月5日-1
4-2017-04-01-2017-04-05-1
5-2017年1月1日-2017年1月30日-2
6-2017年3月1日-2017年3月30日-2
...
所以
adr 2的平均付款时间为29天
adr 1的平均付款时间为6.5天
我希望获得最差付款人的前五名结果,从最差到不那么差。
我尝试了几个查询和想法,但没有遇到正确的想法:/
有什么建议么? 谢谢,斯蒂芬。
您可以使用join,group by和limit
select adr_ref, sum( datediff(bil_paydate,bil_date ))/ count(*) my_result
from t_address
inner join t_billing on t_billing.bil_addressref = t_address.adr_ref
group by adr_ref
order by my_result desc
limit 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.