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 )