Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Select语句获取错误_Mysql_Sql_Database - Fatal编程技术网

Mysql Select语句获取错误

Mysql Select语句获取错误,mysql,sql,database,Mysql,Sql,Database,我有一个SELECT语句,它应该得到前3个匹配项的列表,但由于某种原因它得到了一个错误。当我说前三名的时候,我不是指三排。我指的是有前3个匹配项的行。比如说: 10 10 9 8 8 8 将是前3名的比赛,因为10、9和8是最高的。请看一下我的代码: SELECT input, (input LIKE '% Hello %') as 'matches' FROM allData HAVING matches > '0' AND char_length(input) <= '

我有一个SELECT语句,它应该得到前3个匹配项的列表,但由于某种原因它得到了一个错误。当我说前三名的时候,我不是指三排。我指的是有前3个匹配项的行。比如说:

10
10
9
8
8
8
将是前3名的比赛,因为10、9和8是最高的。请看一下我的代码:

SELECT input, 
(input LIKE '% Hello %') as 'matches' 
FROM allData 
HAVING matches > '0' 
AND char_length(input) <= '50'
AND `matches` in 
(select distinct `matches`
from allData
order by `matches` desc
limit 3);

不能在子查询中设置限制。如果要实现这一点,请将此查询拆分为两个查询。首先进行子查询,并将子查询的结果放入主查询。

您的错误是什么?这似乎只是一个SQL/mysql问题;没有PHP/mysqli问题。MySQL不允许子查询中的限制。你不能用那种方式做你想做的事情。@GordonLinoff有什么解决方案吗?@chris85戈登说了什么。如果你能提供样本数据和期望的结果就好了。