[英]mysql check no records within 3 months with group limit by 1 show the last transaction
我想擁有一個mysql查詢,該查詢生成的數據沒有記錄3個月。 按名稱限制顯示最新的交易組1。
**Sample data (March to May)**
Name Date of Transaction
Robert 2014-03-03
Angel 2014-02-25
Robert 2014-06-03
Daniel 2014-03-11
Angel 2014-05-31
Christine 2014-01-31
Henry 2014-05-05
Henry 2014-06-01
Nicole 2014-03-25
**It should display:**
Name Date of Transaction
Daniel 2014-03-11
Nicole 2014-03-25
Angel 2014-05-31
Henry 2014-06-01
Robert 2014-06-03
這可能嗎? 這是我的查詢但不起作用
SELECT *
FROM <tablename>
WHERE date <= CURDATE() - INTERVAL 3 MONTH
GROUP BY name
ORDER BY date
DESC
編輯
3個月內沒有記錄怎么辦?
Name Date of Transaction
Christine 2014-01-31
使用group by時,除非使用聚合函數,否則只能在group by子句中顯示列。 這有幫助嗎?
SELECT name, max(dtTransaction)
FROM <tablename>
WHERE date <= CURDATE() - INTERVAL 3 MONTH
GROUP BY name
使用max獲取最新日期。
您可以嘗試這樣的事情:
SELECT Name, MAX(Date of Transaction)
FROM <tablename>
WHERE date <= CURDATE() - INTERVAL 3 MONTH
GROUP BY Name
ORDER BY date;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.