选择语句获取错误

时间:2015-09-27 19:07:50

标签: mysql sql database

我有一个SELECT语句,可以获得前3个匹配项的列表,但由于某种原因它会出错。当我说前3场比赛时,我并不仅仅意味着三排。我指的是排名前3位的行。所以,像这样:

10
10
9
8
8
8

将是前三场比赛,因为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);

1 个答案:

答案 0 :(得分:-1)

您不能在子查询中设置限制。如果要实现此目的,请将此查询拆分为两个查询。首先创建子查询,然后将子查询的结果放入主查询中。