2011-10-18 95 views
2

當我迭代mysql表的行時,每個表(x,y)中有2個值,我需要查看這兩個值之間的間隔。在Perl中遞增多維哈希

例如,如果x = -21.1,y = 52.4,則x將在-30 ..- 20間隔內,y將在50..60間隔內。

所以基於這些間隔,我會得到一個散列或包含該間隔組合(-30..- 20和50..60)的東西並將其加1。然後我會查看mysql表中的其餘行,並執行相同的操作,以便計算出所有間隔組合的發生次數。

將會有36X36個組合(間隔-180..180,分10秒)。我認爲這應該是通過使用多維哈希完成的,但我不確定。誰能幫我嗎?

回答

3

如何在MySQL本身做到這一點?

SELECT FLOOR(x/10)*10, FLOOR(y/10)*10, COUNT(*) 
FROM yourTable 
GROUP BY FLOOR(x/10), FLOOR(y/10) 
+0

非常感謝!這工作得很好,很容易在我的Perl代碼中實現:) – user1001715