我正在为网站开发搜索功能。我有一个名为 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/