选择3个月前的上次活动

时间:2018-10-18 16:25:42

标签: mysql sql select

我有一张手机发票表,相关的列是Cellular_Account_id (INT)billing_end_date(DATE)data_usage_GB

每个帐户每个月都有单独的一行。我正在尝试获取过去三个月中每个月都没有数据使用情况的帐户列表。

一般来说,我对数据库还很陌生,所以我甚至不确定我应该搜索哪种语法,或者应该采用哪种方法。

我当然可以选择WHERE data_usage_GB = 0.000 AND MONTH(billing_end_date) = month(current_date()) -1,但这只能为我提供1个月范围内的信息。我不确定如何将过去三个月中的每个月的data_usage_GB = 0.000分组在一起。

1 个答案:

答案 0 :(得分:1)

我将按帐户分组,获取每个帐户的最长日期,然后使用having子句对其进行过滤:

SELECT   cellular_account_id
FROM     invoices
GROUP BY cellular_account_id
HAVING   MAX(billing_end_date) < DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH)