HTSQL - 获取查询返回的计数/记录数

Posted

技术标签:

【中文标题】HTSQL - 获取查询返回的计数/记录数【英文标题】:HTSQL - Get Count/number of records to be returned by a query 【发布时间】:2013-09-22 04:27:26 【问题描述】:

我正在尝试使用HTSQL 和jQuery Datatables 实现服务器端分页,而服务器端是Django。数据表最初需要记录总数,以便它可以管理分页。因此,如果我有一个简单的 HTSQL 查询,例如:

/program

(点击下方链接预览)

/program

我会这样做:

/count(program)

/count(program)

我会得到我的简单查询将返回的记录总数。但例如,如果我有一个 HTSQL 查询,例如:

/program.filter(school_code=$code)school_code, code, title:where($code:='eng')

/program.filter(school_code=$code)school_code, code, title:where($code:='eng')

(我的查询比这复杂得多,但这只是一个例子。就像我有不同的“^”以及嵌套查询)

现在我想计算运行此查询时将获得的记录数,以便我可以进一步使用它来初始化任何表以进行服务器端分页。我试过了:

/count(program.filter(school_code=$code)school_code, code, title:where($code:='eng'))

/count(program.filter(school_code=$code)school_code, code, title:where($code:='eng'))

但出现错误“函数 'count' 需要 1 个参数;得到 3 个”。

任何线索我怎样才能获得我的查询将返回的记录计数/数量?

【问题讨论】:

Ff 你删除选择器 它应该为你计算记录;我们会考虑一下,也许这应该通过忽略选择器来工作。 DataTables 有点酷,看到它工作会很漂亮-:) 是的,clarkevans,当我删除选择器时,它给了我计数。但是,由于我有嵌套查询(和大查询),我将不得不使用正则表达式并进行大量字符串操作以删除选择器以在运行时获取计数。无论如何,感谢您的帮助:)您可以将其写为答案,以便我将其标记为正确答案。 【参考方案1】:

count() 中删除选择器,记录数将更正。

/count(program.filter(school_code=$code):where($code:='eng'))

【讨论】:

以上是关于HTSQL - 获取查询返回的计数/记录数的主要内容,如果未能解决你的问题,请参考以下文章

复杂 SQL 计数查询

为啥这个记录计数返回 1?

需要帮助编写查询以获取总计数和唯一计数

如何在 hbase 表中获取计数记录?查询记录的最快方法是啥?

如何使用 sql 中的单个查询获取项目计数和总计数?

关于criteria分页中获取总记录数异常问题