mysql - 检查满足哪个 SQL 条件

标签 mysql phpmyadmin

我正在寻找一种更有效的方法来调试我的 SQL 查询,我正在使用 phpMyAdmin 进行大多数查询检查。下面是一个查询示例:

SELECT * FROM `schedule` WHERE
(
    `start` = {$start} OR
    ((`start` + (`runtime` * 60)) > {$start} AND (`start` + (`runtime` * 60)) <= {$end}) OR
    (`start` > {$start} AND `start` < {$end}) 
) AND `group_id` = {$group}

现在考虑到 $start 和 start 都是时间戳,当试图查看满足哪些条件(并且令人困惑)时会变得很烦人,有时这些条件可能很多(而不是 3就像在例子中一样),有没有办法快速确定他们中的哪一个被满足了?无需手动删除它们中的每一个?

谢谢!

最佳答案

这不是一个漂亮的解决方案,但您可以将每个条件添加到列列表中:

SELECT *,
    IF (`start` = {$start}, 1, 0) AS con1,
    IF (((`start` + (`runtime` * 60)) > {$start} AND (`start` + (`runtime` * 60)) <= {$end}), 1, 0) AS con2,
FROM `schedule` WHERE
(
`start` = {$start} OR
((`start` + (`runtime` * 60)) > {$start} AND (`start` + (`runtime` * 60)) <= {$end}) OR
(`start` > {$start} AND `start` < {$end}) 
) AND `group_id` = {$group}

关于mysql - 检查满足哪个 SQL 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41495532/

相关文章:

php - 如何显示mysql数据库中的图像?当我尝试显示图像时,它仅显示该图像的名称

mysql - 根据两个不同表中的条目自动填充sql表

php - 如何从 PHP 函数返回 2 个查询的组合结果?

mysql - 从 cat_table 中选择类别,其中该类别的 main_table 项目不为空

php - 如何使用由日期和用户名分隔的 while 循环添加列的不同值(行)

php - 如何将 MySQL 中的 id 添加到 session cookie

mysql - SQL 查询在 Web 托管上执行时出现错误,但在 localhost 上运行时没有问题

mysql - 无法通过 PHPmyAdmin 导入 Wordpress 数据库 - 无法通过插件执行迁移

php - MySQL大于当前日期时间问题

php - SELECT DISTINCT 返回重复项