我有一个很大的query
从多个表中选择多个列,我想知道有多少个记录(进行计数)。
我无法得到结果的长度,因为我还在查询中添加了.offset
和.limit
。
有没有办法可以生成以下内容
SELECT COUNT(*) FROM (
knex query
) as count
用knex?怎么样?
(版本:0.11.10
)
答案 0 :(得分:1)
你一定在寻找这个
LocalDate
答案 1 :(得分:0)
从当前网站上的文档中了解到这一点。
knex('users').count('active as a')
Outputs:
select count(`active`) as `a` from `users`
搜索“选择计数”将为您提供更多示例。
答案 2 :(得分:0)
以下代码在给定一个复杂的内部查询时返回一个计数:
async getTotalCount() {
const clonedKnexObject = knexObject.clone();
clonedKnexObject.limit(999999);
const countQuery = knex.from(clonedKnexObject.as('a')).count();
const response = await dbQuery(countQuery.toSQL().toNative());
return response[0]['count(*)'];
}
注意:我需要设置.limit(999999),因为它的现有限制要低得多,需要覆盖。