我正在尝试创建一个巨大的哈希,其中有很多键,但只有几个值。
到目前为止,我有这样的...
du_factor = {
"A" => 1,
"B" => 1,
"C" => 1,
"D" => 2,
"E" => 2,
"F" => 2,
Run Code Online (Sandbox Code Playgroud)
...等等,等等等等,持续不断甚至超过您甚至想知道的时间。在不完全翻转其结构的情况下,创建此哈希的更短,更优雅的方法是什么?
编辑:嗨,我意识到有一种比给出的答案更简单,更优雅的方法。只需声明一个空哈希,然后使用所需键声明一些数组,然后使用for语句将其插入到数组中,如下所示:
du1 = ["A", "B", "C"]
du2 = ["D", "E", "F"]
dufactor = {}
for i in du1
dufactor[i] = 1
end
for i in du740
dufactor[i] = 2
end
Run Code Online (Sandbox Code Playgroud)
...但是没有人建议让我,极端的Ruby n00b,这一事实认为我一定不应该这样做。性能问题?
我知道你可以使用窗口函数获得一部分数据的平均值,总数,最小值和最大值.但是,有可能得到中位数,或第25百分位而不是窗函数的平均值?
换句话说,我如何重写这个以获得每个区域内的ID和第25或第50百分位销售数字而不是平均值?
SELECT id, avg(sales)
OVER (PARTITION BY district) AS district_average
FROM t
Run Code Online (Sandbox Code Playgroud)