我有一张手机发票表,相关的列是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
分组在一起。
答案 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)