Mysql 选择上次活动发生在3个月前的位置
我有一个移动电话发票表,相关列有Mysql 选择上次活动发生在3个月前的位置,mysql,sql,select,Mysql,Sql,Select,我有一个移动电话发票表,相关列有移动电话账户id(INT),计费结束日期(日期),以及数据使用情况\u GB 每个账户每月都有一行。我正在尝试获取过去三个月内每年都没有使用数据的帐户列表 一般来说,我对数据库相当陌生,所以我甚至不确定应该搜索什么语法,或者应该采取什么方法 当然,我可以选择,其中data\u usage\u GB=0.000,MONTH(billing\u end\u date)=MONTH(current\u date())-1,但这只提供了1个月范围内的信息。我不知道如何将过
移动电话账户id(INT)
,计费结束日期(日期)
,以及数据使用情况\u GB
每个账户每月都有一行。我正在尝试获取过去三个月内每年都没有使用数据的帐户列表
一般来说,我对数据库相当陌生,所以我甚至不确定应该搜索什么语法,或者应该采取什么方法
当然,我可以选择
,其中data\u usage\u GB=0.000,MONTH(billing\u end\u date)=MONTH(current\u date())-1
,但这只提供了1个月范围内的信息。我不知道如何将过去三个月中每个月的data\u usage\u GB=0.000
结果组合在一起。我会按帐户分组,获取每个结果的最长日期,然后使用having
子句对其进行筛选:
SELECT cellular_account_id
FROM invoices
GROUP BY cellular_account_id
HAVING MAX(billing_end_date) < DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH)
选择手机\u账户\u id
从发票
按手机号码分组
最大(计费结束日期)
如果在过去三个月内不存在任何发票,则要选择账户(显然是从asccounts表中选择)。SQL有一个不存在
子句。查一查。您还应该看看他们文档中的MySQL日期/时间函数。到目前为止,您尝试了什么?@Eric-到目前为止,我在某个特定月份尝试了简单的select语句-这很好,但它没有得到我要查找的聚合数据。尽管如此,我还是应该提前提到这一点。感谢提醒,原始问题已被编辑。GROUP BY。。。拥有…
是我错过的一点,谢谢!为了我的工作,我不得不一次学习一点MySQL,所以有很多这样的差距。现在,我有一些东西可以搜索,以了解更多关于我可以用它做什么。我最后使用了以下命令:SELECT*FROM cellular\u invoices,其中data\u usage\u GB=0.000按最大(计费结束日期)