php - 我没有从 SQL 查询中得到预期的结果

标签 php sql mysql count

我正在为网站开发搜索功能。我有一个名为 keywords 的表,其中包含两个字段 id 和 keyword。我有两个单独的 AND 和 OR 搜索查询。问题出在 AND 查询上。它没有返回我期望的结果。

打印出来的SQL是:

SELECT COUNT(DISTINCT tg_id) 
FROM tg_keywords 
WHERE tg_keyword='keyword_1' 
  AND tg_keyword='keyword_2'

返回的计数为 0,而如果我使用 OR 而不是 AND 执行相同的 SQL,则返回的计数为 1。我希望在这两种情况下计数都为 1,并且我需要这样作为 AND 结果将优先于 OR 结果。

任何建议将不胜感激。

谢谢 阿奇

最佳答案

它将始终返回 0,除非 keyword_1=keyword_2。 tg_keyword 只能有一个值,当您说 AND 时,您要求两个条件都为真。

从逻辑上讲,这与询问“我有多少 friend 叫‘JACK’和‘JILL’”是一样的?没有,没有人同时被称为 JACK 和 JILL。

关于php - 我没有从 SQL 查询中得到预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3672663/

相关文章:

python - Django MySql 设置

javascript - 将变量从 PHP FORM 传递到 JAVASCRIPT 并使用 JQUERY 更新数据库

php - 我无法将 Sentry 添加到php slim

php - 可靠、安全地保存来自外部服务器的图像

php - 使用 PHP openssl 进行应用内购买签名验证

sql - Oracle 对字符串字段进行空检查

java - CLASSPATH 中存在 JDBC Mysql 连接器,但未找到

mysql - 使表格相关

c# - 如何从SQL Server表中下载并查看图像?

c++ - 在 C++ Builder 中更新 TDBGrid