我有會員必須爲會員付款。我存儲:付款日期和會員資格(他們可以支付1個月或幾個月)。按計算字段排列的MySQL組
現在我想知道哪些付款過期或即將付款。
我的邏輯是:獲得每個會員的過期日期(最後付款日期+會員資格長度),然後查看每個會員的最高價值。
這是我的查詢,但我確實想解釋我的推理,因爲您可能想要質疑該數據庫甚至數據庫的格式(但請不要要求我存儲到期日期)。
SELECT tbl.company AS company,
MAX(ADDDATE(paydate, INTERVAL paylength MONTH))) AS expiration,
tbl.id
FROM tblPayments
JOIN tbl ON tblPayments.comp_id = tbl.id
GROUP BY expiration
ORDER BY expiration ASC
我讀過計算字段的分組可能是不可能的,但是我對MySQL的知識還不夠強,無法理解變通方法。我會很感激你可以提供任何幫助!謝謝!
你是否嘗試將整個表達式放在group by子句中,而不是別名:GROUP BY MAX(ADDDATE(paydate,INTERVAL paylength MONTH)))... ...似乎我有這樣的事情,一旦別名不會工作......我還沒有測試;這只是一個想法... – keithhatfield