mysql - 两列之间无法正常工作

标签 mysql sql

我有一张表事件

使用这个表我必须获取mysql中两个日期和两列之间的记录,请参阅下面我提到的表格式

eventId          startDate            dueDate

 1                2018-01-15          2018-01-17  
 2                2018-01-25          2018-01-25
 3                2018-01-11          2018-01-16

假设我想将2018-01-14的记录提取到2018-01-16意味着实际结果应该如下

My Expected answer

eventId
 1
 3

I tried like this but nothing is coming

 SELECT eventId FROM events WHERE startDate <= '2018-01-30' AND DueDate <= '2018-01-30'

I am getting output

eventId
 3

最佳答案

您可以在您需要的范围之间使用,例如:

 SELECT eventId 
 FROM events 
 WHERE startDate  BETWEEN  '2018-01-14' AND  '2018-01-16'
 AND DueDate BETWEEN  '2018-01-14' AND  '2018-01-16'

或者您也可以为两列使用不同的范围

要获取 id = 3 的行,您需要 2018-01-11 而不是 2018-01-14 作为起始范围

 SELECT eventId 
 FROM events 
 WHERE startDate  BETWEEN  '2018-01-11' AND  '2018-01-16'
 AND DueDate BETWEEN  '2018-01-11' AND  '2018-01-16'

或者您可以使用 OR 条件仅检查从 14 到 16 的两列之一

 SELECT eventId 
 FROM events 
 WHERE startDate  BETWEEN  '2018-01-14' AND  '2018-01-16'
 OR  DueDate BETWEEN  '2018-01-14' AND  '2018-01-16'

关于mysql - 两列之间无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559433/

相关文章:

php - MySQL 到 PHP 数组

mysql - 更新 mysql 返回 SQL 语法错误

mysql - 在本地 mysql 数据库中拉取 mysql 数据库时出错

使用 JOINS 的 SQL Server SELECT 性能

分配给变量时的sql执行延迟

sql - 如何在 SQL 中随机执行部分外连接

mysql - CodeIgniter 选择带有密码功能的查询

插入触发器之前的 SQLite

mysql - Eloquent 查询不使用索引

php - 如何在MySQL中查找不同组中的重复对