选择开始年份和开始月份之间的数据以结束年份和结束月份?

问题描述:

我想选择给定范围的年份和月份的行。 (i.e.: from <start year>+<start month> to <end year>+<end month>).选择开始年份和开始月份之间的数据以结束年份和结束月份?

我已经使用下表。

Id Page_id Url Score Month Year 
1 1  Link 192  4  2015 
2 1  Link 247  5  2015 
3 1  Link 304  6  2015 
4 1  Link 283  7  2015 
.     
.     
10 1  Link 288  1  2016 
11 1  Link 295  2  2016 
12 1  Link 393  3  2016 

我从(<5+2015> to <2+2016>)获取数据。 我试着下面的查询,但我得到意想不到的行。我错过了什么吗?

SELECT * FROM `readability` AS t WHERE t.url 
     BETWEEN STR_TO_DATE(CONCAT('5', '2015'), '%Y%m') AND 
       LAST_DAY(STR_TO_DATE(CONCAT('2', '2016'), '%Y%m')); 

你好,你好像缺少了很多。 url与您想要的条件有什么关系。

想必,你想:

where year * 100 + month between 201505 and 201602 

您的数据没有日期列。你可能一切都转换为日期,但整数(或字符串)比较就足够了。

将有关日期的数据转换为日期mysql数据类型。

接下来,只要这样的查询:

SELECT * FROM `readability` WHERE (date_field BETWEEN '2015-01-05' AND '2016-01-02');