MYSQL选择Time Between返回比查询早的行的位置
我有一个mysql数据库,其中有一个名为data的表MYSQL选择Time Between返回比查询早的行的位置,mysql,Mysql,我有一个mysql数据库,其中有一个名为data的表 mysql> describe data; +-------+---------------------+------+-----+-------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+---------------------+---
mysql> describe data;
+-------+---------------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------------------+------+-----+-------------------+----------------+
| idx | int(11) | NO | PRI | NULL | auto_increment |
| ts | timestamp | NO | | CURRENT_TIMESTAMP | |
| id | tinyint(3) unsigned | NO | | NULL | |
| value | decimal(10,2) | YES | | NULL | |
+-------+---------------------+------+-----+-------------------+----------------+
当我尝试选择一个特定的日期范围(例如今天)时,查询返回超出日期范围的数据
mysql> SELECT * FROM data WHERE ts BETWEEN '2016-11-27 00:11:00' AND '2016-11-29 00:11:00' AND id LIKE '0' OR id LIKE '1' ORDER BY ts ASC LIMIT 10;
+-------+---------------------+----+-------+
| idx | ts | id | value |
+-------+---------------------+----+-------+
| 14117 | 2016-11-12 15:24:16 | 1 | 0.00 |
| 20144 | 2016-11-16 20:03:50 | 1 | 56.00 |
| 20147 | 2016-11-16 20:04:10 | 1 | 52.00 |
| 20150 | 2016-11-16 20:05:10 | 1 | 52.00 |
| 20153 | 2016-11-16 20:06:11 | 1 | 52.00 |
| 20156 | 2016-11-16 20:07:11 | 1 | 52.00 |
| 20159 | 2016-11-16 20:08:17 | 1 | 52.00 |
| 20162 | 2016-11-16 20:09:18 | 1 | 52.00 |
| 20165 | 2016-11-16 20:10:21 | 1 | 52.00 |
| 20168 | 2016-11-16 20:11:27 | 1 | 52.00 |
+-------+---------------------+----+-------+
我对MYSQL非常陌生,所以希望这是一个容易解决的问题,但我一直未能找到解决方案(不是因为缺乏尝试)。问题在于
或
。您可以使用括号,也可以只在中使用:
SELECT *
FROM data
WHERE ts BETWEEN '2016-11-27 00:11:00' AND '2016-11-29 00:11:00' AND
id IN (0, 1)
ORDER BY ts ASC
LIMIT 10;
问题在于或。您可以使用括号,也可以只在
中使用:
SELECT *
FROM data
WHERE ts BETWEEN '2016-11-27 00:11:00' AND '2016-11-29 00:11:00' AND
id IN (0, 1)
ORDER BY ts ASC
LIMIT 10;
和
的优先级高于或
。例如,表达式a和b或c
相当于(a和b)或c
。使用括号指定操作顺序,即a和(b或c)
和的优先级高于或。例如,表达式a和b或c
相当于(a和b)或c
。使用参数指定操作顺序,即a和(b或c)
。