mysql - 如何构造具有多个条件的复杂 MySQL 查询
问题描述
我的认知能力和 MySQL 技能已经达到了我需要做的 MySQL 查询的极限,我正在寻求一些帮助。
我的“工作”表如下所示:
| jobunique | jobtypeunique | joblat | joblng | jobbusiness | jobpayed | jobfixedstartdate | jobstartdate | jobfixedenddate | jobenddate | jobcreatedtimestamp
| 1 | 4 | 23.99 | 18.34 | 1 | 1 | 0 | 2019-04-06 | 0 | 2019-05-11 | 2019-04-05 12:22:02
| 2 | 2 | 31.34 | 11.89 | 1 | 0 | 0 | 2019-03-02 | 0 | 2019-04-01 | 2019-04-05 12:23:21
| 3 | 7 | 42.31 | 14.34 | 0 | 1 | 0 | 0000-00-00 | 0 | 0000-00-00 | 2019-04-05 12:23:44
| 4 | 7 | 60.99 | 55.67 | 0 | 1 | 1 | 2019-04-06 | 0 | 0000-00-00 | 2019-04-05 12:26:14
| 5 | 7 | 11.10 | 12.00 | 0 | 1 | 1 | 2019-05-06 | 1 | 2019-05-10 | 2019-04-05 12:27:10
我需要进行 mysql 查询,在其中获取符合以下条件的所有条目的"jobunique"
, "jobtypeunique"
, "joblat"
,的信息:"joblng"
首先,我不需要输入where "jobpayed"
is "0"
。
我需要所有条目在哪里"jobbusiness"
并且"1"
通过"jobstartdate"
但"jobenddate"
不是。当前日期必须在"jobstartdate"
和之间"jobenddate"
。
我需要所有条目,其中“jobfixedstartdate”和“jobfixedenddate”"jobbusiness"
为“0”,如第 3 行,其中不超过 60 天。"0"
"0"
"jobcreatedtimestamp"
我需要所有条目 where "jobbusiness"
is "0"
, "jobfixedstartdate"
is"1"
和"jobfixedenddate"
is"0"
就像在第 4 行,其中 the"jobstartdate"
不早于当前日期。
我需要所有条目 where "jobbusiness"
is "0"
, "jobfixedstartdate"
is"1"
和"jobfixedenddate"
is"1"
就像第 5 行一样,其中 the"jobenddate"
不早于当前日期。
我从来没有对 MySQL 查询进行过连接,所以我真的不知道从哪里开始......
问候,斯特凡
解决方案
如果我得到它正确这个查询帮助你。
SELECT
jobunique,
jobtypeunique ,
joblat ,
joblng
FROM job
WHERE
jobpayed != 0
AND
(
jobbusiness = 1 AND jobstartdate > NOW() AND jobenddate <= NOW()
) OR
(
jobbusiness = 0 AND jobfixedstartdate = 0 AND jobfixedenddate = 0 AND jobcreatedtimestamp <= (NOW()-INTERVAL 60 DAY)
) OR
(
jobbusiness = 0 AND jobfixedstartdate = 1 AND jobfixedenddate = 0 AND jobstartdate >= NOW()
) OR
(
jobbusiness = 0 AND jobfixedstartdate = 1 AND jobfixedenddate = 1 AND jobenddate >= NOW()
)
我最好的。
推荐阅读
- ruby - Ruby 编码替换错误
- .net - 为没有 VS 2013 的 VS 2013 解决方案设置构建
- prestashop - 如何在 Prestashop 1.6 的 AdminCustomersController 中使用 createTemplate
- php - 如何在 laravel 模型中根据条件设置附加变量?
- apache-spark - 使用 PySpark 和 Kafka 进行结构化流处理,Py4JJavaError: An error occurred while calling o70.awaitTermination
- consensus - 在 Raft 中,follower 何时知道条目已提交?Can an out-of-date node can win a election?
- spring - Activiti 边界事件未在 Spring Boot 集成测试中触发
- google-apps-script - G Script - 如何在 G Drive 中查找文件名的一部分
- php - 如何在 Laravel 4 中使用 put Method on Cache?
- javascript - 如何避免为 dataTables 中的每个按钮使用自定义脚本?