0
我在Postgres中创建了一个限制结果数量的查询,但由于某种原因,我的限制子句显示的是我要求的少一个结果。这里是查询:Postgres限制显示错误的行数
select articles.title, articles.slug, count.views
from articles,
(select path, count(path) as views
from log
where status = '200 OK'
and path != '/'
group by path
order by views desc limit 3
) count
WHERE articles.slug LIKE LTRIM(count.path, '/article/');
但是当我运行它时,我只得到前2行。如果我将3改为4,我会得到前3行,依此类推。有什么建议么?
在子查询中选择的行由where子句过滤掉。 –
如果你不使用通配符,你为什么使用'LIKE'?这与使用'articles.slug = LTRIM(count.path,'/ article /');' –
'的内部连接基本相同当我删除限制时,将显示所有6个相关行,并且如果使用限制3偏移量1按照要求返回前3行,所以我相信戈登的回答是正确的。 –