Google 查询语言中的舍入
我想在Google查询语言中实现一系列带有舍入的查询,例如:
select round(age,-1), count(id) group by round(age,-1)
或int/floor/等的任意组合。
select int(age/10)*10, count(id) group by int(age/10)*10
有什么办法可以做到这一点吗?我怀疑不会,因为 GQL 中的标量函数列表非常有限,但确实想知道是否有解决方法。
http://code.google.com/apis/chart/interactive /docs/querylanguage.html#scalar_functions
I'd like to implement a series of queries with rounding in Google Query Language, such as:
select round(age,-1), count(id) group by round(age,-1)
or any combination of int/floor/etc.
select int(age/10)*10, count(id) group by int(age/10)*10
Is there any way to do that? I suspect no, as the list of scalar functions in GQL is very limited, but do wonder if there's a workaround.
http://code.google.com/apis/chart/interactive/docs/querylanguage.html#scalar_functions
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不,我认为我们不能在 GQL 中进行舍入...
您显示的链接不适用于 google 应用引擎...
No, I dont think we can do rounding in GQL...
The link that you have shown is not for google app engine...
在查询末尾添加格式,例如:
请参阅 Google 查询语言参考- 格式。
Add a format at the end of the query, for example:
See Google Query Language Reference - Format.
尽管没有明确的舍入或下取整函数,但可以使用模运算符
%
以及value % 1
返回value< 的小数部分这一事实来实现它们/代码>。因此,
value - value % 1
相当于floor(value)
,至少对于正值来说是这样。更一般地说,value - value % k
应等于floor(value / k) * k
。对于您的情况,您的查询应如下所示:
Although there are no explicit round or floor functions, one can implement them using the modulus operator
%
and the fact thatvalue % 1
returns the decimal part ofvalue
. Sovalue - value % 1
is equivalent tofloor(value)
, at least for positive values. More generallyvalue - value % k
should be equivalent tofloor(value / k) * k
.In your case, your query should look like: