我有一个根据搜索参数拉取记录的查询,我希望查询返回总记录以及基于开始和结束的分页,我是否必须运行两个查询或是否有更直观的方法在单个查询中完成。
SELECT * FROM page WHERE article_id = ? AND content like '%@%' //replacing @ with keyword
编辑:寻找标准SQL(实际上使用WebSQL)
此查询将返回每行的记录总数和实际页面(考虑到每页有 5 行)
select *, count(*) as total, (seq - MOD(seq, 5)) / 5
from (select id, row_number() over(order by id) as seq
from page) a
join page b on b.id = a.id;
请注意,此查询仅适用于Oracle
因为您没有指定我自己决定的DBMS
,因此您可能需要进行编辑。
尝试使用子查询
count * from table where (select .....)