2015-04-02 21 views
1

我有一個由兩列的數據庫中的記錄:僅選擇不會出現很長一段時間

CardNumber   RecordDate 

1`     2015-03-01 
2     2015-04-01 
3     2015-04-02 
4     2015-03-18 
2     2015-03-19 
3     2015-03-18 
1     2015-03-01 
4     2015-04-02 
2     2015-03-30 
2     2015-03-01 
1     2015-03-01 

我想只選擇CardNumbers某個日期之前有RecordDate(如:2015-03-15)。因此,如果在2015-03-222015-03-01上記錄了cardNumber,則不應選擇它。儘管如果最後記錄了一張卡片,例如在2015-03-01上,應該選擇它。

+2

那麼,是什麼問題呢?這應該很簡單。你能告訴我們你試過了什麼嗎? – 2015-04-02 20:49:44

回答

0

使用HAVING子句與MAX聚集

SELECT CardNumber 
FROM SomeTable 
GROUP BY CardNumber 
HAVING MAX(RecordDate) < '2015-03-15' 
+2

我希望你會需要一羣人來做聚合。 – Hogan 2015-04-02 20:53:36

+0

是的。因爲MySQL不需要'GROUP BY'工作,所以MySQL讓我懶得擔心。 – 2015-04-02 21:15:12

1

這將讓卡號與去年創紀錄的日期<「2015年3月15日」

select cardnumber 
from tbl 
group by cardnumber 
having max(recorddate) < '2015-03-15' 
+0

你有工作嗎? – Sam 2015-04-04 10:42:11

相關問題