我有一个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);
答案 0 :(得分:-1)
您不能在子查询中设置限制。如果要实现此目的,请将此查询拆分为两个查询。首先创建子查询,然后将子查询的结果放入主查询中。