我有一个表query
,其中包含3个字段(int)ID
,(string)query
和(int)freq
。我需要查找具有匹配关键字的所有查询,查询频率第二高。这是我试过的,
select * from query
where query like concat('%',(Select query from query
where freq = (Select min(freq) from query
where freq in (Select freq from query order by freq desc limit 2))),'%');
我认为'select query from'行隔离了查询列,之后没有选择任何东西。最后2个select语句为查询提供第二高的频率。 请让我知道我做错了什么。
答案 0 :(得分:0)
SELECT ID, QUERY, FREQ
FROM
(
SELECT ID, QUERY, FREQ, ROW_NUMEBER() OVER(ORDER BY FREQ DESC) RN
FROM QUERY
) A
WHERE RN = 2