mysql - 对同一列使用多个 between 子句

标签 mysql sql between

我想对同一个子句使用多个 between 子句。

我尝试了以下查询,但它不起作用

select id from test where 
(id between 11123745 and 11182111)
and (id between 11182962 and 11182968)
and (id between 11183172 and 11183176)

我的查询没有返回任何内容,我怎样才能使这个查询工作?

最佳答案

您的间隔没有重叠,因此,将它们与 AND 组合不会留下任何要匹配的 id。使用 OR 将它们组合起来,如下所示:

SELECT id FROM test 
WHERE 
  (id BETWEEN 11123745 AND 11182111)
  OR (id BETWEEN 11182962 AND 11182968)
  OR (id BETWEEN 11183172 AND 11183176)

关于mysql - 对同一列使用多个 between 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26894093/

相关文章:

mysql - SQL选择计算

sql - 从 SUM 中查找日期

java - SQL读取表在日期之间,如果不存在仍然写为空

python - 在 Django 中,如何过滤语言列 = "null"的位置?

mysql - 在输入框中输入错误拼写时返回错误消息

php - 根据上下文对 MySQL 结果进行排序

mysql - 如何在 MySQL 中强制执行唯一约束?

php - 查询 3 个表和一个 MAX

mysql - 如何检查给定日期是否至少包括为用户列出的每个文档组?

php - or_where 在 codeigniter 模型中不起作用