我目前正在使用以下查询搜索我的数据库。我真正需要做的是获得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个结果。有什么建议吗?
答案 0 :(得分:3)
你想要不喜欢
SELECT * FROM $tablename WHERE `Info3` NOT LIKE '#DONE#%' LIMIT 0,30
编辑:如果#DONE#并不总是在开头,请使用%#DONE#%
SELECT * FROM $tablename WHERE `Info3` NOT LIKE '%#DONE#%' LIMIT 0,30
答案 1 :(得分:1)
试试这个 -
SELECT * FROM $tablename WHERE `Info3` not like '#DONE#%' LIMIT 0,30