我正在尝试选择给定年份和月份范围的行。 (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'));
答案 0 :(得分:1)
url
与您想要的条件有什么关系。
据推测,你想要:
where year * 100 + month between 201505 and 201602
您的数据没有日期列。您可以将所有内容转换为日期,但整数(或字符串)比较就足够了。
答案 1 :(得分:0)
将有关日期的数据转换为日期mysql数据类型。
然后只需进行如下查询:
SELECT * FROM `readability` WHERE (date_field BETWEEN '2015-01-05' AND '2016-01-02');