我目前正在使用以下查询搜索我的数据库。我真正需要做的是获得 30 个结果,这些结果不包括信息列中包含的标记 #DONE#
。数据库结构如下:
ID Info1 Info2 Info3 DateAdded
-----------------------------------------------------------------
1235 0000 6 #DONE#infohere 35:27.9
5678 1111 5 #DONE#infohere 47:15.4
4583 2222 7 otherinfohere 47:36.8
1238 3333 9 otherinfohere 47:12.6
当前查询:
SELECT * FROM $tablename WHERE `Info3` <> '' LIMIT 0,30
因此在整个数据库中,Info3
列中有 30 多个具有 #DONE#
标记但没有 #DONE#
标签。我需要能够排除所有具有 #DONE#
标记的结果。我不想只获得所有结果,因为当数据库变大时,这会在数据库中产生大量结果,但我最终需要 30 个结果。有什么建议吗?
最佳答案
你不想喜欢
SELECT * FROM $tablename WHERE `Info3` NOT LIKE '#DONE#%' LIMIT 0,30
编辑:如果#DONE# 并不总是在开头,请使用 %#DONE#%
SELECT * FROM $tablename WHERE `Info3` NOT LIKE '%#DONE#%' LIMIT 0,30
关于php - 根据内容从 MySQL 中排除结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21507728/