MySQL 相似的 2 列需要从第 1 列开始数据
MySQL Similar 2 Columns need begining data by 1st column
$genre = 'Action|Adventure|Crime';
$starcast= 'Tom Hanks|Felicity Jones|Omar Sy|Irrfan Khan';
$S2 = mysql_query("SELECT title,hash,year FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."' LIMIT 16") or die (mysql_error());
while ($S = mysql_fetch_assoc($S2)){
这是可行的,但结果是混合数据。
数据上限为 16。
我想要 starcast 的第一个所有数据。
示例:- 如果 startcast 数据与 9 个结果匹配,那么最后 7 个数据需要与类型匹配。
抱歉英语不好。
问题已更新.....
我怀疑你发布的查询是如何工作的。它应该抛出编译错误。您的查询应该类似于
SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."'
ORDER BY id DESC
LIMIT 16
如果 startcast 数据与 9 个结果匹配,那么最后 7 个数据需要与流派匹配
除非你使用 UNION
查询
,否则认为你无法做到那样
(SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."'
ORDER BY id DESC LIMIT 9)
UNION
(SELECT title,hash,year
FROM IMDB WHERE genre REGEXP '".$genre."'
ORDER BY id DESC LIMIT 7 )
$genre = 'Action|Adventure|Crime';
$starcast= 'Tom Hanks|Felicity Jones|Omar Sy|Irrfan Khan';
$S2 = mysql_query("SELECT title,hash,year FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."' LIMIT 16") or die (mysql_error());
while ($S = mysql_fetch_assoc($S2)){
这是可行的,但结果是混合数据。
数据上限为 16。
我想要 starcast 的第一个所有数据。
示例:- 如果 startcast 数据与 9 个结果匹配,那么最后 7 个数据需要与类型匹配。
抱歉英语不好。
问题已更新.....
我怀疑你发布的查询是如何工作的。它应该抛出编译错误。您的查询应该类似于
SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."'
ORDER BY id DESC
LIMIT 16
如果 startcast 数据与 9 个结果匹配,那么最后 7 个数据需要与流派匹配
除非你使用 UNION
查询
(SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."'
ORDER BY id DESC LIMIT 9)
UNION
(SELECT title,hash,year
FROM IMDB WHERE genre REGEXP '".$genre."'
ORDER BY id DESC LIMIT 7 )