2016-08-04 24 views
1

我想從表中獲取特定月份和年份的某些記錄,並且我只填寫了日期字段。從日期字段中選擇具體的數據

enter image description here

在上面的圖片我想選擇最新數據,但僅適用於(2015-09)

如:

SELECT * FROM attendance WHERE date = (year-month) 

回答

2

您可以從該月的開始和結束時間設置日期範圍。

SELECT * 
    FROM attendance 
    WHERE `date` BETWEEN '2015-09-01' AND '2015-09-30' 
+0

這可以在'date'利用指數。 – 1000111

4

您可以使用yearmonth功能:

SELECT * FROM attendance WHERE year(`date`) = '2015' and month(`date`) = '9' 
+0

感謝你洙多先生 –

+1

這一個是好的。但一個問題是,如果你想使用索引,你不能:( – 1000111

+0

@ 1000111很好!!!你總是可以找到一些建設性的觀點。使用索引,也許凱爾的答案更好。:-D – Blank

1

嘗試使用DATE_FORMAT。 您查詢的是:

SELECT * FROM attendance WHERE DATE_FORMAT(date,'%Y-%m') = '2016-05'

+0

請把一些數據代替'(年月)'喜歡'SELECT * FROM attendance WHERE DATE_FORMAT(date,'%Y-%m')='2015-09''。否則,看起來很混亂。 – 1000111

相關問題