Php Mysql命令从一个id到另一个id进行搜索
我想做的是从我的数据库中选择视频,视频=1,最大视频=25000,我有400k个视频,但我不想全部启动,所以我需要选择这种方式,我对搜索脚本执行此命令,但我认为它不起作用。。。希望有人能帮我解决这个问题 用于搜索的MySql命令(此命令用于显示找到的视频数量):Php Mysql命令从一个id到另一个id进行搜索,php,mysql,Php,Mysql,我想做的是从我的数据库中选择视频,视频=1,最大视频=25000,我有400k个视频,但我不想全部启动,所以我需要选择这种方式,我对搜索脚本执行此命令,但我认为它不起作用。。。希望有人能帮我解决这个问题 用于搜索的MySql命令(此命令用于显示找到的视频数量): 在括号()中添加类似于的,尝试执行以下操作: select count(some_id) as num from video where VID >= 1 AND VID <= 25000 AND (title LIKE
在括号()中添加类似于的
,尝试执行以下操作:
select count(some_id) as num from video where
VID >= 1 AND VID <= 25000 AND
(title LIKE '%key1%' or title LIKE '%key2%' or title LIKE '%key3%' or title LIKE '%key4%')
从视频中选择count(一些\u id)作为num,其中
VID>=1和VID请尝试以下操作:
select count(*) as num from video where VID BETWEEN 1 AND 25000 AND (title LIKE '%key1%' or title LIKE '%key2%' or title LIKE '%key3%' or title LIKE '%key4%')
我认为您需要通过在AND子句中添加括号来使用运算符优先级
select
count(*) as num
from
video
where
VID BETWEEN 1 AND 25000
AND
(title LIKE '%key1%'
or
title LIKE '%key2%'
or
title LIKE '%key3%'
or
title LIKE '%key4%' );
仅将所有标题比较设置在括号中
select
count(*) as num
from
video
where
VID BETWEEN 1 AND 25000
AND (
title LIKE '%key1%'
or
title LIKE '%key2%'
or
title LIKE '%key3%'
or
title LIKE '%key4%'
)
试试这个
SELECT count(title) as num
FROM video
WHERE vid <= 25000
AND (title LIKE '%key1%' OR title LIKE '%key2%' OR title LIKE '%key3%' OR title LIKE '%key4%')
选择count(title)作为num
来自视频
当vid您的between做得很好时,真正的问题是您当前的脚本是这样执行的,因为AND运算符的优先级高于OR:
select
count(*) as num
from
video
where
(VID BETWEEN 1 AND 25000
AND
title LIKE '%key1%')
or
title LIKE '%key2%'
or
title LIKE '%key3%'
or
title LIKE '%key4%'
因此,您需要做的是如下更改:
select
count(*) as num
from
video
where
VID BETWEEN 1 AND 25000
AND (
title LIKE '%key1%'
or
title LIKE '%key2%'
or
title LIKE '%key3%'
or
title LIKE '%key4%' )
试试这个
select
count(if(vid between 1 and 25000, 1, 0)) as totalvideocnt
from
video
where
(title like '%key1%' or title like '%key2%' or title like '%key3%' or title like '%key4%')
尝试:从视频中选择count(*)作为num,其中VID介于1和25000之间,并且(标题类似“%key1%”或标题类似“%key2%”或标题类似“%key3%”或标题类似“%key4%”我已在下面添加了答案
select
count(if(vid between 1 and 25000, 1, 0)) as totalvideocnt
from
video
where
(title like '%key1%' or title like '%key2%' or title like '%key3%' or title like '%key4%')