Clojure函数用于保存查询返回的数字的smnaller值

时间:2013-11-19 13:50:24

标签: clojure

我正在运行一个返回单个数字的查询,例如35。

我想将此号码存储在clojure中,

然后

获得该值的20%并保存该数字。

我希望能够通过20%的数字将这个20%的值传递给LIMIT的查询。

这是基于帕累托分析的查询的原因。

任何人都可以帮忙吗?

查询(str“SELECT COUNT(Application)AS NUMBER FROM AppTable”)

麻木(地图#(获取%“数字”)查询)

然后需要将num除以5,使用此值保存一个新数字并使用它传递给查询。

1 个答案:

答案 0 :(得分:0)

问题是你的意思是“然后”。这都是同一个操作的一部分吗?如果是这样,请使用以下内容:

(let [query-result (my-query ...)
      one-fifth (double (* 0.2 query-result))]
  (my-other-queries one-fifth ...))

如果要独立于第一个查询执行最终查询,则可能必须使用某种可变状态,例如: atom

(def query-result (atom nil))
...
(reset! query-result (my-query ...))
...
(my-other-queries (double (* 0.2 @query-result)) ...)

请注意,您始终可以从原始查询结果生成20%的值。此外,在运行query-result之前,请更好地检查my-other-queries是否确实包含值。