php - 用于时间戳比较的正确 MYSQL 语法和具有某些排除项的不同结果

标签 php mysql database rows calculated-columns

抱歉提问,但我以前从来没有做过如此复杂的 MYSQL 查询,而且我实际上不知道要用谷歌搜索什么才能得到答案。

我有一个制作不佳的数据库,其中包含孕妇预约表,其中包括她们来的那天和当时怀孕的周数。我正在尝试选择现在应该是 30 周但在怀孕 25 周后还没有单独条目的每一个。我使用电话号码来唯一标识每个人。

因为我真的不知道如何制定这个查询,所以这是我想出的最好的办法。

SELECT * FROM patientlist WHERE 
    UNIX_TIMESTAMP() - (UNIX_TIMESTAMP(`date`) - `weekspreg`*604800) > 29*604800 

AND 

    UNIX_TIMESTAMP() - (UNIX_TIMESTAMP(`date`)- `weekspreg`*604800) <= 30*604800 

AND
 /* a subquery that keeps out results where the phone number would show up elsewhere in the table for a woman with more than 25 weeks of pregnancy. */

必须有一个更好的解决方案,而不是通过电话号码分别查询日期范围内的每个结果以查看 weekspreg 是否超过 25。

提前感谢您的帮助或指导。

最佳答案

您的整个 WHERE 都不正确。一个查询只能有 ONE where 子句。您使用 andor 加入多个条件,而不是 and where:

WHERE foo AND bar  // correct
WHERE foo AND WHERE bar // syntax error

关于php - 用于时间戳比较的正确 MYSQL 语法和具有某些排除项的不同结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26163278/

相关文章:

mysql - 如何使用不级联删除其子项的外键创建 Django 模型?

mysql - 加密数据库凭据

database - 拆分表

php - mongodb remove 不返回 bool 值

PHP 将字符串日期和时间转换为 MySQL DateTime

javascript - 创建子组的下拉 list

php - 排除 Mysql 中的结果,而不是 IN

mysql - 如何使用 Ruby on Rails 验证二进制字段?

php - 加载页面时间过长 - 分析系统

javascript - 通过 $_GET 访问 URL 中的 # 字符