我有一个 SQLtable: names, location, volume
Names are of type string
Location are two fields of type float (lat and long)
Volume of type int
我想运行一个 SQL 查询,它将对特定范围内的所有位置进行分组并对所有卷求和。
例如group all the locations from 1.001 to 2 degrees lat and 1.001 to 2 degrees long into one with all their volumes summed from 2.001 to 3 degrees lat and long and so on.
简而言之,我想总结一个地理区域中的所有卷,我可以决定它的大小。
我不关心名称,只需要位置(可以是任何分组或平均值)和体积总和。
这是一个示例表:
CREATE TABLE IF NOT EXISTS `example` (
`name` varchar(12) NOT NULL,
`lat` float NOT NULL,
`lng` float NOT NULL,
`volume` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `example` (`name`, `lat`, `lng`, `volume`) VALUES
("one", 1.005, 1.007, 2),
("two", 1.25, 1.907, 3),
("three", 2.065, 65.007, 2),
("four", 2.905, 65.1, 10),
("five", 12.3, 43.8, 5),
("six", 12.35, 43.2, 2);
对于大小为 1 度的区域的返回查询可能是:
1.005, 1.007, 5
2.065、65.007、12
12.3、43.8、7
我正在使用 JDBC、GWT(我认为这不会产生影响)和 MySQL。