Mysql查询NOT IN

标签 mysql sql

我对建议文件的搜索工作正常。但是,我想从该搜索中排除一个文件,但不知道如何将其添加到该查询中:

$query = mysqli_query($con, "
SELECT *, MATCH(file_name_keyword) AGAINST('$file_name_keyword') 
FROM `uploaded` 
WHERE MATCH(file_name_keyword) AGAINST('$file_name_keyword') 
OR file_name_keyword REGEXP '.*($file_name_keyword).*' LIMIT 8");

这个 AND id NOT IN (57)

我几乎尝试了所有方法,但它仍然不排除 id 57 处的行。

最佳答案

只需将现有条件放在括号中,然后在 WHERE 子句末尾添加 NOT IN

SELECT *,MATCH(file_name_keyword) AGAINST('$file_name_keyword') 
FROM `uploaded` 
WHERE (MATCH(file_name_keyword) AGAINST('$file_name_keyword') OR file_name_keyword REGEXP '.*($file_name_keyword).*' )
AND id NOT IN (57)
LIMIT 8

关于Mysql查询NOT IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18234189/

相关文章:

mysql - 计算每天的平均列值

android - Room - 是否可以在查询中使用 OFFSET 和 FETCH NEXT?

SQL 查询 SELECT FROM 2 个表 - 等于返回正确的结果,但不需要等于

php - 合并对象数组中除一个值之外的重复项... php/mysql

mysql - 查询以选择匹配条件语句中所有帖子元字段的行数(帖子)

MySQL 和 Amazon RDS DBA 用户

mysql - 我可以将 'varchar' 列转换为 'datetime' 类型吗

python - 保存实时数据帧的最佳方法是什么?

sql - 可以通过使用 JOINS 合并两个表而不丢失所有数据

MYSQL 内文件连接