首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL 'IN‘和'COUNT’问题

MYSQL 'IN‘和'COUNT’问题
EN

Stack Overflow用户
提问于 2016-04-30 10:41:12
回答 1查看 40关注 0票数 1

我有两个SQL查询,这些查询可能不正确:

代码语言:javascript
复制
SELECT 
    `contract_id`,
    `contract_title`,
    `contract_description`,
    `contract_postalcode`,
FROM
    `gmw_contracts` 
WHERE contract_title COLLATE UTF8_GENERAL_CI REGEXP "test" 
    OR contract_description COLLATE UTF8_GENERAL_CI REGEXP "test" 
    AND contract_postalcode IN (
        53111,53113,53129,53175,53225,53227,53229,53757
    ) ;

SELECT 
    COUNT(`contract_postalcode`) 
FROM
    `gmw_contracts` 
WHERE `contract_title` COLLATE UTF8_GENERAL_CI REGEXP "test" 
    OR `contract_description` COLLATE UTF8_GENERAL_CI REGEXP "test" 
    AND `contract_postalcode` IN (
        53111,53113,53129,53175,53225,53227,53229,53757
    ) ;

第一个查询选择具有给定参数的行,如关键字和postalcode等,但我没有得到想要的结果。好像邮编的事完全被忽略了。

第二个查询应该计算它,这样我就可以在PHP中分页结果(但我不想计算PHP)

第一个查询的解决方案:我可以使用拥有而不是和。但是我也需要用计数查询来做。数一数,不一起工作,在这篇文章里。

你有什么提示或解决办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-30 10:46:09

您的第一个问题是ORAND的结合造成的。

代码语言:javascript
复制
... WHERE ... OR ... AND ...

在这里,AND子句可能不会执行您想要的/预期的操作,因为如果满足任何OR条件,条件就会返回OR

你可能想:

代码语言:javascript
复制
... WHERE (... OR ...) AND ...
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36953846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档