Увеличение многомерных хэшей в Perl - PullRequest
2 голосов
/ 18 октября 2011

Когда я перебираю строки таблицы mysql, в каждой таблице есть 2 значения (x, y), которые мне нужны, чтобы увидеть, между какими интервалами находятся эти два значения.

Например, если x = -21,1 и y = 52,4, x будет в интервале -30 ..- 20, а y будет в интервале 50..60.

Таким образом, исходя из этих интервалов, у меня будет хеш или что-то, содержащее эту комбинацию интервалов (-30 ..- 20 и 50..60), и я увеличу ее на единицу. Затем я прошёл бы остальные строки таблицы mysql и сделал то же самое, чтобы подсчитать все вхождения комбинаций интервалов.

Будет 36X36 комбинаций (интервал -180..180, разделенный на 10 с). Я думаю, что это должно быть сделано с помощью многомерных хэшей, но я не уверен. Кто-нибудь может мне помочь?

1 Ответ

3 голосов
/ 18 октября 2011

Как насчет того, чтобы сделать это в самом MySQL?

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