2016-08-04 47 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

相关问题