簡體   English   中英

mysql在3個月內未檢查任何記錄,組限制為1,顯示最后一筆交易

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM